HIK Elektronikus Felsőoktatási Tankönyv- és Szakkönyvtár
A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Felsőoktatási Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerû felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

8.2.3. Eldöntés

Feladat: Feladat: Adott egy 10 elemű, egész számokat tartalmazó tömb. Töltsük fel véletlen számokkal, majd kérjünk be egy egész számot a billentyűzetről. Döntsük el hogy a bekért szám szerepel e a 10 elemű tömbben.

Megoldás:

int[] tm = new int[10];

int i;

Random rnd = new Random();

for (i=0 ; i<10; i++)

{

tm[i] = rnd.Next(100,200);

Console.Write("{0} ",tm[i]);

}

Console.WriteLine();

int szam = Int32.Parse(Console.ReadLine());

i = 0;

while (i < 10 && szam != tm[i]) i++;

if (i < 10) Console.WriteLine("A szám szerepel a tömbben");

else Console.WriteLine("A szám nem szerepel a tömbben");

Console.ReadLine();

Magyarázat:

A tömb feltöltése után kérjünk be egy számot a billentyűzetről. Ügyelve a konverzió szükségességére. Ehhez itt a Int32.Parse függvényt használtuk.

Az eldöntéshez egy while, előltesztelő ciklust használunk összetett logikai feltétellel. Az első feltétel azt ellenőrzi, hogy benne vagyunk e még a tömbben, a második, hogy még nem találtuk meg a keresett értéket. Mivel logikai ÉS kapcsolat van a két feltétel között, így a ciklusmag akkor hajtódik végre, ha mindkét feltétel igaz. A ciklusmagban az i ciklusváltozó értékét növeljük. Ha bármelyik feltétel hamissá válik, akkor kilépünk a ciklusból. Így utána az if feltételel döntjük el a kilépés okát, azaz hogy megtaláltuk a szám első előfordulását, vagy elfogyott a tömb. Ennek megfelelően írjuk ki üzenetünket. Figyeljünk oda, hogy az if feltételben nem alkalmazhatjuk a while feltétel második részét, mert ha nincs ilyen tömbelem, akkor a vizsgálatkor már i = 11 lenne, így nem létező tömbelemre hivatkoznánk.