Random() Frage
-
#include <ctime> #include <iostream> using namespace std; int main() { int eing; do { cout<<"\nDie Zahlen lauten: \n\n"<<endl; for(int i=1;i<7;i++) { int izahl=rand()%50; cout<<izahl<<endl; } cout<<"\n\nNochmal neu ziehen? ? BEENDEN <0> : ";cin>>eing; system("CLS"); } while (eing!=0); system("PAUSE"); return 1; }Ich wollte gerne es so haben, dass man zufällige zahlen zwischen 1 und 49 ausgegeben bekommt, geht das denn ?
Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?
Danke
-
:> schrieb:
muss ich da den hauptspeicher löschen oder wie ?
Tolle Idee. Versuchs doch mal. [scnr] Du suchst: srand (siehe google, boardsuche, faq, c++ standard buch/doku)
Überleg doch mal wie man aus einer Zufallszahl zwischen 0 und 48 eine zwischen 1 und 49 macht

Gruß
-
:> schrieb:
Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?
du mußt zum programmstart srand(clock()) ausführen.
-
:> schrieb:
Ich wollte gerne es so haben, dass man zufällige zahlen zwischen 1 und 49 ausgegeben bekommt, geht das denn ?
Und mein zweites problem ist, dass bei jedem Programmstart die gleichen zahlen immer wieder angezeigt werden. muss ich da den hauptspeicher löschen oder wie ?
Danke
Was noch nicht erwähnt wurde, aber vielleicht schön zu lesen ist, ist dass rand() auf mathematischen Formeln beruht. Deswegen auf deine Frage "geht das überhaupt" ein "nein" in Klammern
selbst hinter srand steht wieder ein algorytmus (geht ja nicht anders). du kannst bei srand wie oben erwähnt z.B. die Uhrzeit als Ausgangswert für diese Berechnung benutzen. Dann ist die wahrscheinlichkeit, dass bei einer kleinen Menge die gleichen Zahlen kommen doch sehr gering 