kills Geschrieben 3. März 2004 Geschrieben 3. März 2004 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 Zitieren
Diablo999 Geschrieben 3. März 2004 Geschrieben 3. März 2004 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.... Zitieren
M.A.Knapp Geschrieben 3. März 2004 Geschrieben 3. März 2004 schnellere lösung: int random :: getRandom ( int iMax) { srand(1000); return (rand() % iMax); } MfG, Michael Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.