[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   -
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

le père
 
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   Statut Membre Dernière intervention   164
 
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