Kihagyás

3.4. Kiválasztás

Kiválasztás esetén az adatok közül kiválasztunk valamilyen szempont alapján egy vagy több olyan elemet, amely a megadott szempontnak megfelel. Az algoritmus megadja, hogy a tömbben egy bizonyos elem hol (hányadik helyen) van.

25. feladat

Állítsunk elő véletlenszerűen 10 egész számot a [-50, 50]-ból, és írjuk ki a képernyőre 1 sorba! Írjuk ki az 1. pozitív szám értékét és indexét, ha van ilyen! Ha nincs, írjuk ki, hogy "Nincs pozitív szám"! Név: Kiválasztás

Megoldás:

static void Main(string[] args)
{
    int[] a = new int [10];
    int i = 0;
    bool van = false;
    Random vsz = new Random();

    for (i = 0; i < 10; i++)
    {
        a[i] = vsz.Next(-50, 51);
        Console.Write("{0,5}", a[i]);
    }

    i = 0;
    do
    {
        if (a[i] > 0) van = true;
        i++;
    } while (van == false && i < 10);

    Console.WriteLine();

    if (van) 
    {
        Console.WriteLine(" Az 1. pozitív szám: {0} indexe: {1}", a[i - 1], i - 1);
    }
    else 
    {
        Console.WriteLine("Nincs pozitív szám");
    }

    Console.ReadKey();
}

Ha van a feltételnek megfelelő szám (jelen esetben pozitív), akkor kilépünk a hátultesztelő ciklusból a van=true miatt. Ekkor viszont tudjuk az i értékét, így csak ki kell íratni az indexnek megfelelő elem értékét és sorszámát. Azért kell az i-1-et kiírni, mert a do-while ciklusban a pozitívság megállapítása után növeltük az i értékét az i++ -al.