2020. szeptember 9., szerda

Programozási tételek (alap algoritmusok)

 

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);

 


Nincsenek megjegyzések:

Megjegyzés küldése