Veröffentlicht 3. März 200421 j Hallo zusammen, ich hab folgenden code: int random :: getRandom ( int iMax) { srand( 1000); return ( double( rand()) / RAND_MAX) * iMax; } ich möchte mit der Funktion eine zufallszahl generieren, die maximal so groß ist wie der übergabeparameter (iMax). Wo ist mein/e Fehler? Gruß, kills
3. März 200421 j int random :: getRandom ( int iMax) { srand( 1000); return (int) ( (double)rand() / (double)RAND_MAX) * (double) iMax ); } So sollte es gehen... Gruß Diablo999 EDIT srand ist nur zum initialisieren des Zufallszahlengenerators, kann man jede beliebige Zahl nehmen jedoch erhält man dann auch immer die gleichen Zufallszahlenreihen, deshalb kann man da z.B. praktischerweise die Zeit nehmen....
3. März 200421 j schnellere lösung: int random :: getRandom ( int iMax) { srand(1000); return (rand() % iMax); } MfG, Michael
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.