Lottoziehung... ich verzweifle :-(

Kenanffb

Grünschnabel
Hallo leute, ich möchte eine Lottoziehung programmieren und ich krieg es einfach nicht
hin, dass er keine doppelten Zahlen verwendet.
kann mir irgendjemand helfen? ich verzweifle gleich...

----------------------------------------------------------------------------------------------------------------------------------

printf ("\t LOTTOZIEHUNG\n\n ");


int ziehung;
int x[5];
int k, y;
int flag;

srand (time(NULL));


for (ziehung=1; ziehung<7; ziehung++)
{

flag = 0;

for (k = 1; k < 50; k++)
{

if (y = x[5]) flag = 1;
while (flag = 1)
{
y = rand();
}
}

x[5] = y;

}

{
printf ("%4i", y);
}

----------------------------------------------------------------------------------------------------------------------------------
 
Ist das nicht der Teil:
Code:
       for(j=0;j<6&&zahl[j]!=zz;j++)        //überprüfung ob Zufalszahl schon vorhanden
       {                       //<--
          if(zz==zahl[j])      //<--
            i--;               //<--  wenn vorhanden i wird zurückgesetz und später zahl[i] neu beschrieben
       }                       //<--
 
wie kann ich das denn auf mein beispiel anwenden?
ach ich check das einfach nicht...

also ohne diese prüfung ob eine zahl doppelt vorkommt geht alles wunderbar...

printf ("\t LOTTOZIEHUNG\n\n ");


int ziehung;
int x[5];

srand (time(NULL));


for (ziehung=1; ziehung<7; ziehung++)
{
printf ("%4i", x[5]=rand()%49);
}

getch();
 
Zuletzt bearbeitet:
ich glaub ich versteh deinen sinn von dem arrey x nicht, ich vermute du willst die 6 gezogenen Zahlen da hinein schreiben.

du benutzt aber nur das x[5](wobei ich nicht verstehe wie das geht, da bei die x nur von x[0] bis x[4] gehen dürfte), und nich x['Variable'] also, könntest du in deinem beispiel auch nur eine einfache Variable nehmen.

da ich der schreiber des o.g. Codes welches sich in einem anderen Thread (http://www.tutorials.de/forum/c-c/298175-hilfe-mit-funktion-rand.html)befindet bin, versuche ich dir mal zu erklären was es macht.

Also:

1. Es wird eine Zufallszahl in der Variable zz geschrieben
2. danach wird das arrey zahl nach dieser Zahl durchsucht und wenn sie gefunden
wurde wird i 1 zurückgezählt damit im nächsten durchlauf der for Schleife i wieder
auf der Position steht
3. wenn zz im array zahl nicht gefunden wurde wird zz in zahl[i] geschrieben
4. dies geschieht so lange bis die äußere for Schleife durchgelaufen ist und überall im
arrey zahl eine Zufallszahl drinsteht
5. Anschließen werden die Zahlen des arry zahl ausgegeben

Ich hoffe du verstehst mein Code und kannst ihn auf dein Projekt übertragen
 
Also erstma beachtet bitte die Netiquette
Und dann benutzt doch einfach mal
[.cpp] code [./cpp] Natuerlich ohne die Punkte
Fuer C++ code, dann ist das ganze deutlicher zu lesen, und es werden sich auch mehr Leute bemuehen dir zu helfen, wenn sie den Code schneller lesen koennen :D Danke
 
Zuletzt bearbeitet:
Zurück