Bon, je crains que ça fasse noube de demander, d'autant que vu le nombre de réponses sur les forums... Je sais, j'ai été modo moi aussi, et je pense bien avoir tout essayé. Enfin, non, pas tout, puisque je n'ai pas encore trouvé ;)
Il faut que je génère un grand nombre de nombres aléatoires (simulation de lois normales, si vous voulez tout savoir), le tout en C/C++.
Alors, au début du main, une seule fois :
srand((unsigned int) time(NULL));
Un flottant entre 0 et 1 me suffirait parfaitement - donc
pif = (float)rand() / ((float)RAND_MAX + 1.0) ;
Le problème est que je génère pif50 fois à la suite pour avoir une loi normale (théorème central limite, pour ceuces que ça intéresse), puis 2000 fois, puis re-1825 fois (5 * 365). Et, comme vous vous en doutez, ben je tombe toujours sur les mêmes nombres.
La seule solution que j'ai trouvée pour le moment est d'attendre une seconde, et pas moins, (Sleep(1000);) entre chaque tirage - ce qui n'est pas possible, à moins d'avoir trente ans à paumer...
Retirer la graine à chaque tirage (genre
for (i) {srand (i) ; rand();}) ne fonctionne pas non plus.
Une idée, quelqu'un ?
