Lottósorsolás C# program?
pastebin.com[per]NCyYQjqT
Van valami ötlet, futásidő szempontjából, hogy hatékonyabb legyen? Ugye itt azt csinálja, hogy legenerálja a tömböt, és utána megnézi, hogy van-e benne ismétlődés. Ha van, kezdi elölről.
Illetve objektumokat szeretném gyakorolni, valami feladat-ötlet arra, hogy ezt objektumorientáltan megcsináljam? (Pl. szelvény osztály létrehozása, és a végén én beírok 5 számot, és megmondja, hány találatom volt? De bármilyen ötletet megköszönök, olyat is, aminek köze nincs a lottóhoz. :D )
Két ötlet:
- Egyszerre egy számot sorsoljon, és utána nézze meg, hogy van-e vele egyező! Ha van, akkor azt az egy számot sorsolja újra.
- _Elméletben_ nem helyes utólag ellenőrizni, hogy jó-e, mert _elméletben_ akár végtelenszer egymás után is kisorsolhatja ugyanazt. Persze, a valóságban ez nem valószínű, hogy elő fog fordulni, de vizsgán ezért lenne, aki pontot vonna le. ;) Én úgy csinálnám, hogy létrehozok egy tömböt az elérhető számokkal. Kezdetben 1-től 90-ig. Amit kisorsolok, azt pedig kiveszem a tömbből. (Tömb helyett más, hasonló összetett adattípus is megteszi.) A második körben pedig már csak ezek közül sorsol. Nem biztos, hogy minden esetben gyorsabb lesz, mint a fentebb leírt módszer, de kiszámíthatóbb lesz a futása. ;)
Ezt objektum-orientáltan viszont csak eléggé erőltetetten lehetne megoldani. Gyakorlásnak persze az is jó, például maga a sorsolás legyen egy osztály/objektum, és annak legyen egy .next() tagfüggvénye, ami a következő számot sorsolja ki; stb. Bár ez tipikusan az a feladat, amikor eszembe nem jutna objektumokhoz nyúlni.
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!