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.