[C] Problème nombre aléatoire.

Résolu/Fermé
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 14 mai 2009 à 17:32
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 - 14 mai 2009 à 17:56
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:
    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.

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
2
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
14 mai 2009 à 17:56
A oki Merci.
Donc en gros je met au début De mon soft, donc un fois. Et non dans la fonction.
Ok merci beaucoup Dark vador (Oui je sais c'est nul comme je de mot.)

Bilou.
0