C# Mi a hiba itt? Mit gondolok, csinálok rosszul?
Szóval beolvastam soronként egy szöveges fájlból egy string tipusú tömbbe az adatokat(Ez lesz a lottoSzamok nevü tömb). A szöveges fájlban 91 soron keresztül, 5 (1-től 90-ig) darab szám van írva, szóközzel elválasztva.
Az a feladat, hogy nézzem meg, hogy ebben a szöveges fájlban, van-e 1-től 90-ig olyan szám, ami nem szerepel a fájlban.
Itt az én próbálkozásom:
bool döntes = true;
for (int i = 1; i <= 90; ++i)
{
string teszt = i.ToString();
if (!lottoSzamok.Contains(teszt))
{
döntes = false;
}
}
if (döntes == true)
{
Console.WriteLine("Nincs olyan szám amit ne húztak volna ki");
}
else
{
Console.WriteLine("Van olyan szám amit nem húztak ki");
}
Console.ReadKey();
Úgy akartam megoldani, hogy mindig megnézünk egy számot, amit ha tartalmaz a lottoSzamok tömb, akkor megyünk tovább. Ha nem tartalmazza, akkor a döntés változót átírja false-ra. De ezt nem tud visszaváltozni true-ra, szóval ha egyszer ez bekövetkezik, akkor az else ág lép érvénybe, vagyis hogy "van olyan szám amit nem húztak ki". A szöveges fájlba direkt beleírtam 1-90-ig a számokat pluszba, hogy biztosan tartalmazza minden számot. De így is azt az eredményt adja hogy Van olyan szám amit nem húztak ki, tehát a döntés értéke false lesz, úgy hogy nem kéne annak lennie.
Egyébként ez egy érettségi feladat volt.
[link] Ezen belül az 5. feladat az, a programozás résznél.
Elég sok baj van vele.
Egyrészt a lottoSzamok.Contains(teszt) sosem lesz igaz, hiszen a teszben olyanok vannak, hogy "2 4 23 48 51", "1 9 11 44 45", míg a teszben olyanok, hogy "1", "2", "3".
A lottószámok.Contains pedig a kollekcióra vonatkozó tartalmazást vizsgálja, nem a string-re vonatkozót.
Másrészt ez egy tipikus eldöntés programozási tétel. Feltételezzük, hogy van minden szám, ha egy nincs, akkor az állítás nem igaz, nem kell tovább menni.
Itt van még egy kis segítség ha nem menne:
https://www.youtube.com/playlist?list=PLd5MvFV1xur5kdlJjx4GE..
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!