Seite 1 von 1

Zufallszahl bestimmen

Verfasst: 7. Juli 2011 23:41
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

Verfasst: 8. Juli 2011 09:33
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;
}

Verfasst: 8. Juli 2011 19:30
von Tom17
Hallo,
danke für deine Antowrt und es funktioniert.

LG