Probleme de rand

Résolu
cs_Spacekiller Messages postés 11 Date d'inscription mercredi 9 février 2005 Statut Membre Dernière intervention 23 septembre 2008 - 31 mars 2005 à 23:11
anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 - 1 avril 2005 à 14:55
Bonjour, voila j'ai un programme qui utilise la fonction rand(); a l'origine je devais generer un nombre aleatoirement entre 0 et 9 jai donc fait la fonction :
nbAlea = rand() % 10
Mais a chaque fois que j'execute mon programme ca me revoit toujour le meme nombre; tandis que/ lorsque je l'utilise 2 fois dans mon prog ceux-ci sont differents :/
Quelqu'un peux m'éclairer et trouver une solution????

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 avril 2005 à 09:12
srand(time(NULL)); ou srand(GetTickCount()); fera l'affaire. A ne faire q'une SEULE fois au début du prog et PAS avant chaque rand():
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
31 mars 2005 à 23:17
srand() à utiliser 1 fois au lancement du prog.

ciao...
BruNews, MVP VC++
0
anarchysniper Messages postés 65 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 29 septembre 2005 1
1 avril 2005 à 14:55
Il n'y a pas mieux que rand pour obtenir des nombres aléatoires ?

Si j'ai bonne mémoire, une fonction non documentée de Windows,
NtQuerrySystemInformation ou quelquechose dans ce goût là, permet de
récupérer des valeurs dont les derniers chiffres peuvent être
considérés comme aléatoire ...

Mais peut être qu'initialiser rand sur l'horloge internet (GetTickCount), revient au même ...
0
Rejoignez-nous