Zufallszahl zwichen x und y
-
Hallo,
ich brauche für mein kleines text rpg den 'befehl'das eine zufallszahl zwichen
zB. 50 und 100 generiert wirdint zufallszahl = rand()%100
soweit bin ich....
danke imn voraus
-
Nimm eine Zufallszahl zwischen 0 und 50 und addiere 50.
P.S.
rand()%100sind übrigens Zahlen zwischen 0 und 99 (einschließlich).
-
RAND_MAX ist eine Konstante, die die maximale Zufallszahl generiert, also ist
rand()/RAND_MAXeine Zufallszahl zwischen 0 und 1 und dann ist
50+rand()/RAND_MAX*50eine Zufallszahl zwischen 50 und 100.
-
Sorry kleine Korrektur.
Rand gibt nen int zurück, also
50+floor((double)rand()/RAND_MAX*50);
-
argh...
Nehm alles zurück...
Ist nicht mein Tag...
-
Hier eine kleine Funktion
int Random(int min,int max) { return min+rand()%(max-min+1); }Habs nicht getestet, müsste aber so richtig sein.
MfG, Jochen
-
wenn man rand()%x rechnet, sollte man aber beachten das keine gleichmäßige Verteilung gegeben ist außer MAX_RAND%x == 0. Aber bei Spielen kann dies evtl. egal sein.
-
Fellhuhn schrieb:
wenn man rand()%x rechnet, sollte man aber beachten das keine gleichmäßige Verteilung gegeben ist außer MAX_RAND%x == 0. Aber bei Spielen kann dies evtl. egal sein.
Auch bei praktisch allem anderen. Ich würde zwar nicht unbedingt die Lottozahlen damit ziehen (aus Angst vor Anwälten), aber beispielsweise zum professionellen wissenschaftlichen Rechnen benutzt man trotzdem die modulo-Methode, obwohl man dabei ansonsten ziemlich genau auf die Qualität der Zufallszahlen achtet. Einfach weil dieser Fehler extremst klein ist. Viel kleiner als sonstige Fehlerquellen.