Lottozahlen als Array
-
#include <iostream> #include <stdlib.h> #include <ctime> using namespace std; int main() { int lotto[6]; int i, j; bool neueZahl; srand(time(0)); for(i=0; i<6; i++) // ziehe nacheinander sechs Zahlen { do // wiederhole die Ziehung, bis die neue Zahl { // nicht mit einer der vorigen identisch ist. lotto[i] = rand() % 49 + 1; neueZahl = true; // positive Grundeinstellung for (j=0; j<i; j++) { // durchlaufe alle bisher gezogenen Kugeln [b]if (lotto[j]==lotto[i])[/b] { // Hier wurde ein Doppelter entdeckt neueZahl = false; } } } while (!neueZahl); } for (i=0; i<6; i++) { cout << lotto[i] << " "; } cout << endl; system("PAUSE"); }
Was ich an diesem Programm nicht verstehe ist, WIE speichert er die zufälligen Zahlen in die lotto[j] Felder?
Arbeite dieses Programm mit einem Debugger-Einzelschritt Verfahren durch und versuche das Programm zu verstehen, jedoch sehe ich nur einen Vergleich und keine direkte Zuweisung der lotto[i] Werte, bzw. Elemente auf die lotto[j] Elemente.Eine andere Sache wäre die "srand(time(0));" Sache, hab etwas länger gebraucht bis ich verstanden habe, dass immer die gleiche Folge kommt wenn "srand(0)" steht, wobei das mit dem "time"-Attribut auch nur funktioniert, wenn der zugehörige #include vorhanden ist, diese Sache ist wahrscheinlich einfach so, kann man denke ich auch nicht wirklich gut erklären.
Interessieren würde mich wirklich diese Sache mit der jeweiligen lotto[j] Zuweisung, jemand eine Idee?
-
Falsches Forum: Dein Code ist C++, hier ist aber das C++/CLI Forum - C++/CLI ist eine .NET Sprache.
BTW: in C++ ist cstdlib der korrekte Header - anstelle von stdlib.h
Simon
-
Danke Simon, habs übersehen.
Wird verbesser und, an hoffentlich richtiger Stelle, nochmal gepostet.