Valaki tud segíteni ebben?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
int lotto[5],csere;
srand(time(NULL)); //veletlen szamokat generaljon
printf("A nyertes lotto szamok: ");
for (int i=0; i<5; i++)
{
lotto[i]=rand()%90+1; //aktualis szam generalasa
}
for (int i=0;i<=5;i++)
{
for (int j=i;j<5;j++)
{ //osszehasonlitja mindet minddel
if (lotto[i]>lotto[j])
{ //ha rossz sorrendben vannak, megcsereli oket
csere=lotto[i];
lotto[i]=lotto[j];
lotto[j]=csere;
}
}
}
printf(" ");
for (int i=0;i<5;i++)
{
printf("%d, ", lotto[i]);
}
getchar();
return 0;
}
Ebbe a programba kellene egy olyan ciklus ami nem engedi hogy egy számot többször írjon ki a program! ennyit megtudtam annál akadtam el!





na, te legalább elkezdted, C99-et feltételezek
az első ciklust ha kicseréled erre, akkor menni fog (nem ez az egyetlen megoldás)
for (int i=0; i<5;) {
lotto[i]=rand()%90+1; //aktualis szam generalasa
int unique=1;
for (int j=0; j<i; ++j)
if (lotto[j]==lotto[i]) unique=0;
if(unique) ++i;
}





Hát ha egy rendezést meg tudtál írni, akkor egy ciklust írni a rand köré, hogy összehasonlítsa az addigi számokkal, és ha talál egyezést, generáljon újra, egyáltalán nem nagy feladat. Csak végig kell gondolnod. :)
Pszeudó kóddal a feladat:
ciklus:
r=véletlen szám
amíg van ilyen az eddigi számok között
Erre a feltételre írhatsz egy függvényt, hogy átláthatóbb legyen a programod.





Már lerágott csont ez az 5-ös lottó de tessék:
http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!