[C] Problème nombre aléatoire.
Résolu
cs-bilou
Messages postés
769
Date d'inscription
Statut
Membre
Dernière intervention
-
cs-bilou Messages postés 769 Date d'inscription Statut Membre Dernière intervention -
cs-bilou Messages postés 769 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai commencer a apprendre le C depuis 1mois depuis le Site Du zéro.
J'ai fini la Partie II.
Je suis en train de réaliser a un MasterMind.
Mais je bug.
Pour trouver les combinaison aléatoire.
Voila mon code:
Et
Mais le problème c'est qu'il me met un même nombre dans tout le tableau.
Donc si quelqu'un a une solution.
Merci.
J'ai commencer a apprendre le C depuis 1mois depuis le Site Du zéro.
J'ai fini la Partie II.
Je suis en train de réaliser a un MasterMind.
Mais je bug.
Pour trouver les combinaison aléatoire.
Voila mon code:
for(i = 0 ; i < 4 ; i++) { code[i] = codeHasard(); printf("%ld\n", code[i]); }
Et
int codeHasard() { int max = 8, min = 1, nombreHasard = 0; srand(time(NULL)); nombreHasard = (rand() % (max - min + 1)) + min; return nombreHasard; }
Mais le problème c'est qu'il me met un même nombre dans tout le tableau.
Donc si quelqu'un a une solution.
Merci.
A voir également:
- [C] Problème nombre aléatoire.
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Ascii nombre de caractères - Guide
- Gto nombre episode ✓ - Forum Cinéma / Télé
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
2 réponses
Bonjour
Le problème c'est que tu initialises le générateur de nombre aléatoire à chaque fois avec la même valeur, (car ton programme est très rapide et l'heure n'a pas le temps de changer). La solution c'est de l'initialiser une seule fois
srand(time(NULL));
enlève cette ligne de là où elle est pour la mettre avant le début de ta boucle for
Le problème c'est que tu initialises le générateur de nombre aléatoire à chaque fois avec la même valeur, (car ton programme est très rapide et l'heure n'a pas le temps de changer). La solution c'est de l'initialiser une seule fois
srand(time(NULL));
enlève cette ligne de là où elle est pour la mettre avant le début de ta boucle for