Zufallszahl bestimmen

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Tom17
Beiträge: 17
Registriert: 23. Juni 2011 14:01

Zufallszahl bestimmen

Beitrag von Tom17 »

Hi,
ich möchte eine Zufallszahl aus einem bestimmten Bereich bestimmen.
Ich weiß, dass bei jedem Start die selbe Zahl kommt, ist für meinen Versuch aber wurscht.

Nun mein Code:

Code: Alles auswählen


int zufZahl, iB = 400;
zufZahl = (rand() % (iB+100+1) + iB;

Eigentlich dachte ich, dass ich so den Bereich 500 - 400 abdecke. Es werden mir aber Zahlen > 500 angezeit. Wo liegt mein Fehler?

Weiters eine Frage zu Rand_Max(). Wie nutze ich diese Funktion?

Danke für eure Hilfe, LG
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

rand()%501 gibt eine Zahl zwischen 0 und 500. Dazu dann 400 Addieren, gibt dir Zahlen zwischen 400 und 900.

Code: Alles auswählen

#include <cstdlib>
#include <ctime>
#include <iostream>

int main() {
    std::srand(std::time(0));
    int num = std::rand();
    int const min=400, max=500;
    
    int numInRange = num%(max+1)+min;
    std::cout << "falsch " << numInRange << std::endl;
    
    numInRange = num%(max-min+1)+min;
    std::cout << "richtig: " << numInRange << std::endl;
}
Tom17
Beiträge: 17
Registriert: 23. Juni 2011 14:01

Beitrag von Tom17 »

Hallo,
danke für deine Antowrt und es funktioniert.

LG
Antworten