PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zufallszahlen, das leidige Thema



jean_luc_picard
28-07-2003, 10:31
ich benutze die rand() funktion in einem unterprogramm, welches sehr oft und schnell hintereinander aufgerufen wird. mir scheint, das das programm nicht wirklich zufallszahlen verwendet, sondern bei jedem durchlauf des unterprogrammes die gleichen. die struktur des programmes sieht etwa so aus:



int prog()
{
srand((unsigned) time(NULL) );
...berechnungen mit zufallszahlen...
}

int main ()
{
int n;
for(n=0;n<100;n++)
{
prog();
}
}


das probelm ist, so nehme ich jedenfalls an, das die zeit, die zwischen den aufrufen des unterprogrammes vergeht zu klein ist, um per srand unterschiedliche initialisierungswerte für rand zu erzeugen. ich habe auch schon versucht srand im hauptptogramm aufzurufen, aber scheinbar wirkt sich das nicht auf rand() aufrufe in einem unterprogramm aus, kann das sein?
wie realisiert man das?

wraith
28-07-2003, 10:40
Original geschrieben von jean_luc_picard
ich habe auch schon versucht srand im hauptptogramm aufzurufen, aber scheinbar wirkt sich das nicht auf rand() aufrufe in einem unterprogramm aus, kann das sein?
wie realisiert man das?
Doch,das ist schon der richtig Ansatz


int prog()
{
...berechnungen mit zufallszahlen...
}

int main ()
{
srand(time(0));
int n;
for(n=0;n<100;n++)
{
prog();
}
}

jean_luc_picard
28-07-2003, 11:33
ok, danke für den hinweis. das problem war zusatzlich noch woanders... hatte auch mit "zufallszahlen" zu tun... jetzt läuft es jedoch wie erwartet.

picard out :D