Zufallsgenerator in c++

...komplette Frage anzeigen

6 Antworten

#include <iostream>    // brauchst du für cout
#include <stdlib..h>         // brauchst du für rand()

using namespace std;         // damit du nicht std:cout schreiben musst


int main()                   // hauptfunktion

{

     int z;                  // die Zahl, die am ende der nächsten Rechenoperation den Zufallswert annehmen wird

     z=(rand()%50)+1;         // Beschreibung nachstehend


     cout << z;        // ausgabe der Zahl


}

Beschreibung z= ( rand() % 50 ) + 1;:

mit "rand()" wird eine zufallszahl erstellt (Bsp.: 264)

mit "%50" wird diese Zahl durch 50 dividiert und der Divisionsrest wird ausgegeben (Bsp.: 264/50=5 und 14 rest)

Der kleinstmögliche Betrag, den die Operation bisher annehmen kann ist 0, der größtmögliche ist 49. Du willst aber eine Zahl zwischen 1 und 50, nicht zwischen 0 und 49. Also addieren die Zahl "1" zur bisherigen Operation

"+1" (14+1=15)

Bei diesem Beispiel wäre das Ergebnis "15"

x=((double)rand()/RAND_MAX))*50; müsste der Befehl sein ..leider liegt das schon einige Semester zurück und mein Ordner liegt ganz tief im Keller versteckt ^^ aber versuch den Befehl mal Natürlich muss der in einer for-schleife stecken wenn ich mich recht erinnere

@ kwestioner d du hast da einen tippfehler es heißt

include // brauchst du für cout

include <stdlib.h> // brauchst du für rand()

using namespace std; // damit du nicht std:cout schreiben musst

int main() // hauptfunktion

{

 int z;                  // die Zahl, die am ende der nächsten Rechenoperation den Zufallswert annehmen wird

 z=(rand()%50)+1;         // Beschreibung nachstehend


 cout << z;        // ausgabe der Zahl

system ("Pause"); return 0; } und nicht #include // brauchst du für cout

include <stdlib..h> // brauchst du für rand()

using namespace std; // damit du nicht std:cout schreiben musst

int main() // hauptfunktion

{

 int z;                  // die Zahl, die am ende der nächsten Rechenoperation den Zufallswert annehmen wird

 z=(rand()%50)+1;         // Beschreibung nachstehend


 cout << z;        // ausgabe der Zahl

}

Kommandozeilenprogrammierung:

int zahl;
randomize();
zahl=random(50)+1;
printf("Die Zahl lautet: %d",zahl);

VCL:

int zahl;
randomize();
zahl=random(50)+1;
Panel1->Caption=zahl;

Im Header die Bibliothek für die Funktion randomize() deklarieren:

 #include <stdlib.h> 

Das gilt für die Grafische Programmierung und für die Konsole.

http://www.daniweb.com/forums/thread1769.html

irgendwie so:

int main()

{ srand((unsigned)time(0)); int randominteger; int lowest=1, highest=50; int range=(highest-lowest)+1; for(int index=0; index<20; index++){ randominteger = lowest+int(range*rand()/(RANDMAX + 1.0)); cout << randominteger << endl; } }

und hast du es rausgefunden? würde mich auch mal interesieren! mfg klirr360

Was möchtest Du wissen?