Programozási tételek

Kereses

i := 1
ciklus amíg i<=n és NEM(v[i] adott tulajdonságú)
  i := i+1
ciklus vége.
l := (i<=n)

Adott a v[1..n] vektor, amelynek elemein értelmezhető az adott tulajdonságfüggvény.
Keressük meg a vektor első adott tulajdonságú elemét! Az l logikai változó legyen igaz, ha sikerült találni ilyen elemet, és ekkor az i tartalmazza az első adott tulajdonságú elem indexét.

Csak a pirossal jelolt részt kell cserélni

lineáris keresés +eldöntés Egy "n" elemű, "t" tömb elemei között van-e egy adott feltételt (>10) teljesítő elem?

van=false;
i=0;
while (!t[i]>10) && i<n)
{
van= t[i]>10;
i++;
}

A ciklusból akkor lép ki a program, ha megtalálja az első, feltételnek megfelelő elemet, vagy ha a tömb végére ér. Kilépéskor a "van" értéke tárolja az eredményt.

Lienáris keresést, eldöntéssel valósít meg az alábbi két metódus:
ListBox.Items,Contains
ComboBox.Items,Contains

lineáris keresés +kiválasztás Az előző keresést kibővítve megkapjuk a keresett elem értékét is

van=false;
i=0;
while (!t[i]>10) && i<n)
{
van= t[i]>10;
i++;
}
íf (van)
{
Console.WriteLine("Az"+i" -dik helyen van, értéke: "+t[i]);
}
else
Console.WriteLine("Nincs ilyen elem!");

Lienáris keresést, kiválasztással, valósít meg az alábbi két metódus:
ListBox.Items,IndexOf
ComboBox.Items,IndexOf
Ha a keresett elem nincs a listában nullával tér vissza.
A RichTextBox osztály Find metódusa is keresést valósít meg. Sztringet keres a vezérlő szövegében. Találat esetés a keresett tring első elemének sorszámával tér vissza.
bináris (logaritmikus) keresés  
 
minimum keresés Adott sorozat legkisebb elemét keressük. Segédváltozóban tároljuk az aktuálisan legkisebb elemet, ezzel hasonlítjuk össze a többit, szükség esetén cseréljük a segédváltozó tartalmát.

min = t[0];
for (int i=1; i<n; i++)
if (t[i] < min)
min = t[i]; //minimumkeresés

Rendezés (minimum kiválasztással) Megkeressük a legkisebb elemet, kiemeljük és a még nem rendezett rész első elemével kicseréljük.

for (int j=0; j < n-1; j++)
{
minInd=j;

for(int i=j+1; i<n; i++)

if(t[i]<t[minInd])
minInd=i; //minimumkeresés

if(minInd > j)
{
min=t[minInd]; // csere
t[minInd]=t[j];
t[j]=min;
}

}

Megvalósítás: program

Feladatok:

1. feladat: Deklarálj egy int típusú százelemű tömböt! Az első ötven elemét töltsd fel páros véletlen számokkal! A legkisebb lehetséges szám a tíz legyen, a legnagyobb pedig a kilencven. Az második ötven elemét töltsd fel páratlan véletlen számokkal! A legkisebb lehetséges szám a tizenegy legyen, a legnagyobb pedig a nyolcvankilenc.Írasd ki a tömb elemeit tízelemű sorokban! A páros számok kiíratása után a következő szöveget írasd ki: „Most a páratlan számok következnek:”
2. feladat:  Számold ki és írasd ki a tömb páros elemeinek összegét és átlagát!
3. feladat: Számold ki és írasd ki a tömb páratlan elemeinek összegét és átlagát!
4. feladat:  Kérj be a felhasználótól egy számot!
Ha ez a szám nem tizenegy és nyolcvankilenc közé esik, tájékoztasd róla és kérd be a számot újra!
Ha a szám páros, tájékoztasd róla és kérd be a számot újra!
Döntsd el és írasd ki, hogy a helyesen megadott szám szerepel-e a tömbnek azon részében, ahol páratlan számok találhatók és ha igen, akkor hányadik helyen.
5. feladat:  Kérj be a felhasználótól egy számot!
Ha ez a szám nem tíz és kilencven közé esik, tájékoztasd róla és kérd be a számot újra!
Ha a szám páratlan, tájékoztasd róla és kérd be a számot újra!
Válogasd ki és írasd ki, hogy a helyesen megadott számnál mely számok kisebbek a tömbnek azon részében, ahol páros számok találhatók!
(Egy szám többször is kiíratásra kerülhet!)
6. feladat: Keresd meg és írasd ki a tömb páros részének legkisebb elemét!
7. feladat: Keresd meg és írasd ki a tömb páratlan részének legkisebb elemét!
8. feladat:  

Valósítsd meg az előző részfeladatok menürendszerét a szokott módon.