2020.09.09. Alap algoritmusok (programozási tételek)
Alap
algoritmusok – gyakorlati példák
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.
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.
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.
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.
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);
Megjegyzések
Megjegyzés küldése