Programmiersprache C: Zufallszahlen
Zufallszahlen spielen eine große Rolle bei der Spieleprogrammierung.
int z = rand();
printf("%i", z);
Das rand() steht für random (engl. für „zufällig“).
Bsp 1: zehn beliebige Zufallszahlen erzeugen
#include
int main (void) {
int x = 1, z;
while(x<=10){
z=rand(); //Zufallszahl erzeugen
printf ("%i ", z);
x++;
}
return 0;
}
Bsp 2: zehn Zufallszahlen im Bereich 0 bis 20 erzeugen
#include
int main (void){
int x = 1, y;
while(x<=10) {
y=rand(); //Zufallszahl erzeugen
y = y % 21; // Prozentzeichen -> siehe unten!
printf ("%i ", y);
x++;
}
return 0;
}
Erklärung des Prozentzeichens:
Es handelt sich hierbei um das Rechenzeichen (Operationszeichen) der Modulo-Rechenoperation.
Ergebnis der Modulo-Rechenoperation ist der Rest einer ganzzahligen Division:
16 : 3 = 5 Rest 1.
16 % 3 = 1 (die 1 ist der Rest, wie eine Zeile höher gezeigt)
(Sprechen muß man 16 % 3 übrigens "sechzehn modulo drei".)
Noch zufälliger:
Du hast vielleicht bemerkt, daß im Beispiel 2 immer dieselben 10 Zufallszahlen erzeugt wurden.
Um das zu verhindern kann man den Zufallsgenerator vorher mit einer unterschiedlichen Startbedingung (Saat) versehen.
Schreibe vor dem ersten rand()-Aufruf die Anweisung: srand(time(0));
weiter
|