Problème avec rand ()

Signaler
Messages postés
3
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004
-
Messages postés
3
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004
-
Boujours a tous amis programmeur.

Voilà mon prob , je dévoloppe une application qui utilise la fonction rand () pour générer des nombres aléatoire, tous marche sans problème. mè j'ai remarquer qu'a chaque fois que je relance l'application il m'affiche exactement les mêmes nombres que la dernière fois. Exemple: j'apui 2 fois sur le bouton generer et il m'affiche 23, 34. Jusque la tous va bien. bon j'étin le prog et je le ralume et je rapui 2 fois sur générer et lui m'affiche 23,34 je me suis dit ptêtre que c moi qui a fait une erreur mais non. Bon si quelqu'un pourrai m'éclairer sa srai cool.

Merci d'avance.

"La persévérance est la clé".

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
A placer au debut du prog:
srand(GetTickCount()); // par exemple

ciao...
BruNews, MVP VC++
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
1
Exact, 'srand()' initialise le generateur de nombres pseudo aleatoires.

Si tu ne veux pas utiliser d'API pour plus de portabilité (genre linux), tu peux inclure <time.h> et faire :
time_t TIME;

srand((unsigned) time(&TIME));

Ca marche très bien aussi, c'est dans le même genre.

eRoZion
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
1
Oui au fait c'est important de ne le placer qu'une seule fois au début du programme comme l'a dit BruNews, plus ferait perdre du temps inutilement.

eRoZion
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
eRoZion> srand(time(NULL)); suffit
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
14
pis si tu veux un random un peu meilleur (càd moins prévisible) essaie le lien http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c.

C'est un "very fast random number generator" avec une période monstrueuse... et un conseil: laisse tomber la méthode srand(time(NULL)) si tu veux un bon random (ça dépend de tes besoins, of course).

C.U, Malik7934
Messages postés
3
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
27 octobre 2004

cool sa marche merci à vous tous.

Gràce à vous je dormirai un peu moin bête se soir. (lol) :)

"La persévérance est le clé"