Házi feladat tanulni a tételeket.
Alap algoritmusok – gyakorlati példák
A
kiválasztás tétele
Adjuk meg, hogy hányadik a tömbben az 55,
és írjuk ki a sorszámát! Ha több is van, csak az elsőt írjuk ki. Ha nincs ilyen
szám, írjunk ki hibaüzenetet!
int i = 0;
while (i <
szamok.Length && szamok[i] != 55)
{
i++;
}
if (i !=
szamok.Length)
Console.WriteLine("A keresett szám (55) a {0}. indexű
elem.", i);
else
Console.WriteLine("A keresett szám (55) nincs a
tömbben!");
A
megszámlálás tétele
Számoljuk meg egy tömbben az 50 alatti elemeket!
Írjuk ki a végeredményt. (For ciklussal is jó.)
int i = 0;
int db = 0;
while (i <
szamok.Length)
{
if (szamok[i] < 50)
{
db++;
}
i++;
}
Console.WriteLine("{0} db 50 alatti szám van a tömbben.", db);
Az
eldöntés tétele
Döntsük el, hogy van-e a tömbben 10-nél
nagyobb szám. Amennyiben találtunk egyet, a ciklus álljon meg, és írjuk ki a
képernyőre a megtalált elemet. (Nem kell a többit is megkeresni.) Ha
végigmentünk a tömbön, és nem találtunk egyet sem, azt is írjuk ki.
int i = 0;
bool van = false;
while (i <
szamok.Length && !van)
{
if (szamok[i] > 10)
{
van = true;
}
i++;
}
if (van)
Console.WriteLine("Van a tömbben 10-nél nagyobb elem:
{0}", szamok[i-1]);
else
Console.WriteLine("Nincs a tömbben 10-nél nagyobb
elem.");
A
kiválogatás tétele
Adott két azonos elemszámú tömb. Másoljuk
át az első tömbből a másodikba a páros elemeket. (While ciklussal is jó.)
int j = 0;
for (int i = 0; i <
szamok1.Length; i++)
{
if (szamok1[i] % 2 == 0)
{
szamok2[j] = szamok1[i];
j++;
}
}
Az
összegzés tétele
Egy tömbben add össze az elemeket. Írd ki
a végeredményt. (While ciklussal is jó.)
int osszeg = 0;
for (int i = 0; i <
egeszSzamok.Length; i++)
{
osszeg = osszeg + egeszSzamok[i];
}
Console.WriteLine("A tömbelemek összege: {0}", osszeg);
Változat: Add össze a páros elemeket. Írd ki a végeredményt.
int parosOsszeg = 0;
for (int i = 0; i <
egeszSzamok.Length; i++)
{
if (egeszSzamok[i] % 2 == 0)
{
parosOsszeg = parosOsszeg +
egeszSzamok[i];
}
}
Console.WriteLine("A páros elemek összege: {0}", parosOsszeg);
Változat: Szorozd össze az 50-nel osztható elemeket. Írd ki a végeredményt.
int szorzat = 1;
for (int i = 0; i <
egeszSzamok.Length; i++)
{
if (egeszSzamok[i] % 50 == 0)
{
szorzat = szorzat *
egeszSzamok[i];
}
}
if (szorzat != 1)
{
Console.WriteLine("Az 50-nel osztható elemek
szorzata: {0}", szorzat);
}
else
{
Console.WriteLine("Nem voltak 50-nel osztható
elemek!");
}
A
minimumkeresés tétele
Egy tömbben keresd meg a legkisebb elemet.
(While ciklussal is jó.)
int min = tomb[0];
for (int i = 1; i <
tomb.Length; i++)
{
if (tomb[i] < min)
{
min = tomb[i];
}
}
Console.WriteLine("A legkisebb elem: {0}",min);
A
maximumkeresés tétele
Egy tömbben keresd meg a legnagyobb elemet.
(While ciklussal is jó.)
int max = tomb[0];
for (int i = 1; i <
tomb.Length; i++)
{
if (tomb[i] > max)
{
max = tomb[i];
}
}
Console.WriteLine("A legnagyobb elem: {0}",max);