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
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....
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden