Hi Leute,
ich bin neu in der Programmierszene :wink: und bin gerade dabei C++ zu lernen. In dem Buch mit dem ich lerne, ist eine Übungsaufgabe um eine Zufallszahl mit Hilfe der Funktion rand() (was rand() macht, habe ich verstanden
) zu erstellen.
Laut dem Buch liefert rand() eine Zufallszahl zwischen 0 und 32767. Um den Bereich der Zufallszahl einzugrenzen wird mit Modulo gearbeitet.
Um eine Zahl zischen 1 und 50 zu erhalten schreibt man also:
Was ich jedoch nicht verstehe ist, wie man mit Modulo den Bereich eingrenzt, denn Modulo gibt ja immer den Rest aus und wenn ich 32767/50 teile und mir den Rest ausrechne komme ich auf 17.
Kann mir da jemand weiterhelfen, wie ich die Funktion zu verstehen habe, dass da eine Zufallszahl zwischen 1 und 50 herauskommt?
Vielen Dank!!
Grüße
Kaitsh
PS: Bestimmt habe ich da irgendwo einen Denkfehler, denn wenn ich es teste, funktioniert es. Jedoch verstehe ich die Logik nicht!
ich bin neu in der Programmierszene :wink: und bin gerade dabei C++ zu lernen. In dem Buch mit dem ich lerne, ist eine Übungsaufgabe um eine Zufallszahl mit Hilfe der Funktion rand() (was rand() macht, habe ich verstanden
Laut dem Buch liefert rand() eine Zufallszahl zwischen 0 und 32767. Um den Bereich der Zufallszahl einzugrenzen wird mit Modulo gearbeitet.
Um eine Zahl zischen 1 und 50 zu erhalten schreibt man also:
Code:
int Zahl = (rand()%50)+1
Kann mir da jemand weiterhelfen, wie ich die Funktion zu verstehen habe, dass da eine Zufallszahl zwischen 1 und 50 herauskommt?
Vielen Dank!!
Grüße
Kaitsh
PS: Bestimmt habe ich da irgendwo einen Denkfehler, denn wenn ich es teste, funktioniert es. Jedoch verstehe ich die Logik nicht!