salut;
je veux générer aléatoirement une combinaison de 6 chiffres parmi 10 tout en veillant à avoir un et un seul doublon
j'ai besoin de vos idées pour programmer le code
merci d'avance
salut;
je veux générer aléatoirement une combinaison de 6 chiffres parmi 10 tout en veillant à avoir un et un seul doublon
j'ai besoin de vos idées pour programmer le code
merci d'avance
Salut
Il te suffit de remplir un tableau, qui contiendra tes numéros générés aléatoirement.
Au moment où tu génères un nombre aléatoire, au fur et à mesure, avant de le rajouter dans le tableau, tu vérifies s'il n'est pas déjà présent dans le tableau, via une boucle. Il y a deux options :
* S'il est déjà présent et que tu as déjà mémorisé un doublon (de ce chiffre ou d'un autre), tu génères un autre chiffre et tu testes à nouveau.
* S'il est déjà présent et que tu n'as pas encore eu de doublon, tu le rajoutes dans le tableau et tu mémorises que tu as un doublon.
Pour mémoriser si tu as déjà un doublon ou non, il suffit d'utiliser une variable, que tu initialiseras à une valeur donnée (0 par exemple).
Si, une fois le tableau totalement rempli, tu n'as aucun doublon, tu pioches un nombre au pif dans le tableau et tu le copies à un autre emplacement du tableau (au pif, et en vérifiant que ce n'est pas au même endroit).
- Tu fais un tirage sans remise de 5 chiffres parmi les 10. Tu te retrouves avec un tableau A de 6 éléments dont les 5 premiers sont initialisés.
- Tu tires un premier indice i entre 0 et 4. C'est l'indice dans A de l'élément qui sera dupliqué.
- Tu tires un deuxième indice j entre 0 et 4. Si j >= i, alors j += 1. C'est l'indice dans A où tu va placer le doublon.
- Tu places le doublon en faisant A[5] = A[j] puis A[j] = A[i]
Pour faire un tirage sans remise de 5 chiffres parmi 10 (première étape), tu te fais un tableau T de 10 éléments dans lequel tu places des 10 chiffres. Tu tires un indice i entre 0 et 9. Tu met T[i] dans A[1], et tu intervertis T[i] et T[9]. Tu tires un nouvel indice i entre 0 et 8. Tu met T[i] dans A[1], et tu intervertis T[i] et T[8]. Tu recommence jusqu'a avoir tiré ainsi 5 chiffres uniques.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager