Zufallszahl in gegebenen Grenzen
-
Hallo!
Ich komme einfach nicht auf die Berechnung von Zufallszahlen in gegebenen Grenzen.
Es steht NICHT die "normale" rand() Funktion zur Verfügung, sondern folgende:// Zufallsfunktion random(int n)random(n) liefert aber nur Zufallszahlen zwischen 0 und (n-1). Wie kann ich damit jetzt Zufallszahlen für ein gegebens Intefvall "errechnen" wie z.B. [3;5] oder [9;55]?
Gruß Georg
-
Ganz einfach - du lässt dir zunächst eine Zufallszahl zwischen 0 und max-min liefern und addierst darauf dann min

int zahl = random(3)+3;// Bereich [3,5] //oder allgemein: int zahl = random(mx-mn+1)+mn;// Bereich [mn,mx]
-
min sei 5, max sei 9
zieh min von max ab und zähl 1 dazu, ergibt range von 5 (9-5+1)
berechne zufallszahl zwischen 0 und range und zähl zum ergebnis min dazu
et voilà
damn it... zu langsam

-
Ja, besten Dank euch beiden. :xmas1:
Georg :xmas1: