Kezdőoldal » Számítástechnika » Programozás » C# Mi a hiba itt? Mit gondolok...

C# Mi a hiba itt? Mit gondolok, csinálok rosszul?

Figyelt kérdés

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.



2018. aug. 5. 14:09
 1/2 anonim ***** válasza:
100%

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.

2018. aug. 5. 14:46
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Itt van még egy kis segítség ha nem menne:

https://www.youtube.com/playlist?list=PLd5MvFV1xur5kdlJjx4GE..

2018. aug. 5. 14:50
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!