2021.05.07. Tömbkezelés gyakorlása I.

//            Tömbkezelés gyakorlása I.
//1. feladat:
//Hozz létre egy tömböt 5 db egész szám tárolására.
//A tömb elemeit a felhasználó fogja feltölteni.
//Megkéred, hogy csak páros számokat írjon be, majd írd ki neki, hogy kéred a tömb első elemét.
//Beírja a számot, amit Te beteszel egy változóba.
//Eztán megvizsgálod a számot. Ha páros, beteszed a tömbben a helyére.
//Ha nem páros, kiírod újra, hogy írja be az első elemet.
//(Feltételezzük, hogy másodjára már jól írja be.)
//Ugyanezt a játékot eljátszod az összes többi elem bekérésénél is.
//2. feladat:
//A tömböd most fel van töltve.
//Írasd ki a tömb elemeit soronként a képernyőre.
//Egy billentyűlenyomással lehessen továbbmenni.
//3. feladat:
//Vizsgáld meg az összes tömbelemet, hogy osztható-e 6-tal, és egyesével írasd is ki a képernyőre.
//Egy billentyűlenyomással lehessen továbbmenni.
//4. feladat:
//Egy véletlenszámmal szorozd meg sorra a tömbelemeket, és egyesével írasd is ki a   képernyőre az eredményt.
//Véletlenszám képzése:
//Random rnd = new Random();
//int szam = rnd.Next();
//szam = rnd.Next(100);
//szam = rnd.Next(0,100);
//Egy billentyűlenyomással lehessen továbbmenni.
//5. feladat:
//Írd ki minden tömbelemre vonatkoztatva soronként, hogy ha kivonnál az aktuális tömbelemből 100-at, akkor negatív lenne-e a szám.
//Egy billentyűlenyomással lehessen továbbmenni.
//6. feladat:
//Ismétlésképpen cifrázd ki a programot: ablak címe, hangjelzés, színek, szegélyek, üres sorok a jobb olvashatóságért, stb.
//A még olvashatóbb megjelenés érdekében tanuljuk meg pozícionálni a kurzort: Console.SetCursorPosition();
//7. feladat:
//Számold ki a fenti tömb elemeinek az összegét, az átlagát; az első és az utolsó elem különbségét, és tárold őket változókban.
//Írasd ki az értékeiket.
//Egy billentyűlenyomással lehessen továbbmenni.
//8. feladat:
//Hozz létre egy  5 elemű tömböt stringek tárolására.
//Kérj be a felhasználótól egymás után 5 stringet, ezeket helyezd el a tömbben.
//Írd ki a tömb tartalmát a képernyőre.
//Írd ki a következőket a képernyőre:
//az első string hossza;
//a második string kezdő és végső szóközök nélkül;
//a harmadik string első három betűje;
//a negyedik string nagybetűsre alakítva;
//az ötödik string kisbetűsre alakítva;
//Egy billentyűlenyomással lehessen továbbmenni.
//Szorgalmi:
//Kérj be egy számot, majd írasd ki, hogy ha ez a szám másodpercet jelent, akkor hány nappal, órával, perccel, másodperccel egyenlő.
Megoldás:
//1. feladat:
            //Hozz létre egy tömböt 5 db egész szám tárolására.
            //A tömb elemeit a felhasználó fogja feltölteni.
            //Megkéred, hogy csak páros számokat írjon be, majd írd ki neki, hogy kéred a tömb első elemét.
            //Beírja a számot, amit Te beteszel egy változóba.
            //Eztán megvizsgálod a számot. Ha páros, beteszed a tömbben a helyére.
            //Ha nem páros, kiírod újra, hogy írja be az első elemet.
            //(Feltételezzük, hogy másodjára már jól írja be.)
            //Ugyanezt a játékot eljátszod az összes többi elem bekérésénél is.
            int[] szam = new int[5];
            Console.Write("Add meg az első számot: ");
            int szam0 = Convert.ToInt32(Console.ReadLine());
            if (szam0 % 2 == 0)
            {
                szam[0] = szam0;
            }
            else
            {
                Console.Write("Add meg az első számot: ");
                szam0 = Convert.ToInt32(Console.ReadLine());
                szam[0] = szam0;
            }
            ///////////////////////////////////////////////////////
            Console.Write("Add meg a második számot: ");
            int szam1 = Convert.ToInt32(Console.ReadLine());
            if (szam1 % 2 == 0)
            {
                szam[1] = szam1;
            }
            else
            {
                Console.Write("Add meg a második számot: ");
                szam1 = Convert.ToInt32(Console.ReadLine());
                szam[1] = szam1;
            }
            ///////////////////////////////////////////////////////
            Console.Write("Add meg a harmadik számot: ");
            int szam2 = Convert.ToInt32(Console.ReadLine());
            if (szam2 % 2 == 0)
            {
                szam[2] = szam2;
            }
            else
            {
                Console.Write("Add meg a harmadik számot: ");
                szam2 = Convert.ToInt32(Console.ReadLine());
                szam[2] = szam2;
            }
            ///////////////////////////////////////////////////////
            Console.Write("Add meg a negyedik számot: ");
            int szam3 = Convert.ToInt32(Console.ReadLine());
            if (szam3 % 2 == 0)
            {
                szam[3] = szam3;
            }
            else
            {
                Console.Write("Add meg a negyedik számot: ");
                szam3 = Convert.ToInt32(Console.ReadLine());
                szam[3] = szam3;
            }
            ////////////////////////////////////////////////////////
            Console.Write("Add meg az ötödik számot: ");
            int szam4 = Convert.ToInt32(Console.ReadLine());
            if (szam4 % 2 == 0)
            {
                szam[4] = szam4;
            }
            else
            {
                Console.Write("Add meg az ötödik számot: ");
                szam4 = Convert.ToInt32(Console.ReadLine());
                szam[4] = szam4;
            }
            Console.WriteLine();
            //2. feladat:
            //A tömböd most fel van töltve.
            //Írasd ki a tömb elemeit soronként a képernyőre.
            //Egy billentyűlenyomással lehessen továbbmenni.
            Console.WriteLine("1. elem: {0}", szam[0]);
            Console.WriteLine("2. elem: {0}", szam[1]);
            Console.WriteLine("3. elem: {0}", szam[2]);
            Console.WriteLine("4. elem: {0}", szam[3]);
            Console.WriteLine("5. elem: {0}", szam[4]);
            Console.ReadLine();
            //3. feladat:
            //Vizsgáld meg az összes tömbelemet, hogy osztható-e 6-tal, és egyesével írasd is ki a képernyőre.
            //Egy billentyűlenyomással lehessen továbbmenni.
            if (szam[0] % 6 == 0)
            {
                Console.WriteLine("Az 1. elem {0} osztható 6-tal", szam[0]);
            }
            else
            {
                Console.WriteLine("Nem osztható 6-tal maradék nékül");
            }
            ////////////////////////////////////////////////////////////////
            if (szam[1] % 6 == 0)
            {
                Console.WriteLine("Az 2. elem {0} osztható 6-tal", szam[1]);
            }
            else
            {
                Console.WriteLine("Nem osztható 6-tal maradék nékül");
            }
            ////////////////////////////////////////////////////////////////
            if (szam[2] % 6 == 0)
            {
                Console.WriteLine("Az 3. elem {0} osztható 6-tal", szam[2]);
            }
            else
            {
                Console.WriteLine("Nem osztható 6-tal maradék nékül");
            }
            ////////////////////////////////////////////////////////////////
            if (szam[3] % 6 == 0)
            {
                Console.WriteLine("Az 4. elem {0} osztható 6-tal", szam[3]);
            }
            else
            {
                Console.WriteLine("Nem osztható 6-tal maradék nékül");
            }
            ////////////////////////////////////////////////////////////////
            if (szam[4] % 6 == 0)
            {
                Console.WriteLine("Az 5. elem {0} osztható 6-tal", szam[4]);
            }
            else
            {
                Console.WriteLine("Nem osztható 6-tal maradék nékül");
            }
            Console.WriteLine();
            //4. feladat:
            //Egy véletlenszámmal szorozd meg sorra a tömbelemeket, és egyesével írasd is ki a képernyőre az eredményt.
            //Véletlenszám képzése:
           // Random rnd = new Random();
           // int szam = rnd.Next();
           // szam = rnd.Next(100);
           // szam = rnd.Next(0,100);
            //Egy billentyűlenyomással lehessen továbbmenni.
            Random rnd = new Random();
            szam[0] = szam[0] * rnd.Next(100);
            szam[1] = szam[1] * rnd.Next(100);
            szam[2] = szam[2] * rnd.Next(100);
            szam[3] = szam[3] * rnd.Next(100);
            szam[4] = szam[4] * rnd.Next(100);
            Console.WriteLine("A tömb 1. eleme véletlen számmal szorozva: {0}", szam[0]);
            Console.WriteLine("A tömb 2. eleme véletlen számmal szorozva: {0}", szam[1]);
            Console.WriteLine("A tömb 3. eleme véletlen számmal szorozva: {0}", szam[2]);
            Console.WriteLine("A tömb 4. eleme véletlen számmal szorozva: {0}", szam[3]);
            Console.WriteLine("A tömb 5. eleme véletlen számmal szorozva: {0}", szam[4]);
            Console.WriteLine();
            //5. feladat:
            //Írd ki minden tömbelemre vonatkoztatva soronként, hogy ha kivonnál az aktuális tömbelemből 100-at, akkor negatív lenne-e a szám.
            //Egy billentyűlenyomással lehessen továbbmenni.
            if (szam[0] - 100 < 0)
            {
                Console.WriteLine("1. A művelet eredménye negatív lenne.");
            }
            ////////////////////////////////////////////////////////
            if (szam[1] - 100 < 0)
            {
                Console.WriteLine("2. A művelet eredménye negatív lenne.");
            }
            ////////////////////////////////////////////////////////
            if (szam[2] - 100 < 0)
            {
                Console.WriteLine("3. A művelet eredménye negatív lenne.");
            }
            ////////////////////////////////////////////////////////
            if (szam[3] - 100 < 0)
            {
                Console.WriteLine("4. A művelet eredménye negatív lenne.");
            }
            ////////////////////////////////////////////////////////
            if (szam[4] - 100 < 0)
            {
                Console.WriteLine("5. A művelet eredménye negatív lenne.");
            }
            ////////////////////////////////////////////////////////
            Console.WriteLine();
            //6. feladat:
            //Ismétlésképpen cifrázd ki a programot: ablak címe, hangjelzés, színek, szegélyek, üres sorok a jobb olvashatóságért, stb.
            //A még olvashatóbb megjelenés érdekében tanuljuk meg pozícionálni a kurzort: Console.SetCursorPosition();
            //7. feladat:
            //Számold ki a fenti tömb elemeinek az összegét, az átlagát; az első és az utolsó elem különbségét, és tárold őket változókban.
            //Írasd ki az értékeiket.
            //Egy billentyűlenyomással lehessen továbbmenni.
            double osszeg = szam[0] + szam[1] + szam[2] + szam[3] + szam[4];
            double atlag = osszeg / 5;
            int elsoutolsokul = szam[0] - szam[4];
            Console.WriteLine("Elemek összege: {0}", osszeg);
            Console.WriteLine("Elemek átlaga: {0}", atlag);
            Console.WriteLine("Első és utolsó elem különbsége: {0}", elsoutolsokul);
            Console.ReadLine();
            //8. feladat:
            //Hozz létre egy 5 elemű tömböt stringek tárolására.
            string[] szoveg = new string[5];
            //Kérj be a felhasználótól egymás után 5 stringet, ezeket helyezd el a tömbben.
            Console.WriteLine("Add meg az 1. szöveget: ");
            szoveg[0] = Console.ReadLine();
            Console.WriteLine("Add meg az 2. szöveget: ");
            szoveg[1] = Console.ReadLine();
            Console.WriteLine("Add meg az 3. szöveget: ");
            szoveg[2] = Console.ReadLine();
            Console.WriteLine("Add meg az 4. szöveget: ");
            szoveg[3] = Console.ReadLine();
            Console.WriteLine("Add meg az 5. szöveget: ");
            szoveg[4] = Console.ReadLine();
            //Írd ki a tömb tartalmát a képernyőre.
            Console.WriteLine("Az 1. tömbelem tartalma: {0}", szoveg[0]);
            Console.WriteLine("A 2. tömbelem tartalma: {0}", szoveg[1]);
            Console.WriteLine("A 3. tömbelem tartalma: {0}", szoveg[2]);
            Console.WriteLine("A 4. tömbelem tartalma: {0}", szoveg[3]);
            Console.WriteLine("Az 5. tömbelem tartalma: {0}", szoveg[4]);
            //Írd ki a következőket a képernyőre:
            //az első string hossza;
            Console.WriteLine("Az 1. tömbelem hossza: {0}", szoveg[0].Length);
            //a második string kezdő és végső szóközök nélkül;
            Console.WriteLine("A 2. tömbelem kezdő és végső szóközök nélkül: {0}", szoveg[1].Trim());
            //a harmadik string első három betűje;
            Console.WriteLine("A 3. tömbelem első 3 betűje: {0}", szoveg[2].Substring(03));
            //a negyedik string nagybetűsre alakítva;
            Console.WriteLine("A 4. tömbelem nagybetűsre alakítva: {0}", szoveg[3].ToUpper());
            //az ötödik string kisbetűsre alakítva;
            Console.WriteLine("Az 5. tömbelem kisbetűsre alakítva: {0}", szoveg[4].ToLower());
            //Egy billentyűlenyomással lehessen továbbmenni.
            Console.ReadLine();
            //Szorgalmi:
            //Kérj be egy számot, majd írasd ki, hogy ha ez a szám másodpercet jelent, akkor hány nappal, órával, perccel, másodperccel egyenlő.
            Console.ReadLine();

2021.05.07. Tömbök - bevezetés

 using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace tombokBevezetese

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.BackgroundColor = ConsoleColor.Blue;

            Console.ForegroundColor = ConsoleColor.White;

            Console.Clear();

            //Végre valami érdekes :)

            //Tömb definiálása és értékadása:


            //típus[] tömbnév = new típus[elemszám];

            //definiálás: bal oldal

            //inicializálás (kezdőértékadás): az egyenlőségjel és a jobb oldal


            string[] nevek = new string[17]; //helyet foglalunk a new-val 

            //17 string típusú értéknek a memóriában


            //Értékadás a tömb elemeinek programból:


            nevek[0] = "Öröm Melitta"; //ez az első elem, indexe:0

            nevek[1] = "Avon Mór";

            nevek[2] = "Ordy Bálint";

            nevek[3] = "Szikla Szilárd";

            nevek[4] = "Bekre Pál";

            nevek[5] = "Heu Réka";

            nevek[6] = "Mérta Nóra";

            nevek[7] = "Emanci Pál";

            nevek[8] = "Hot Elek";

            nevek[9] = "Parady Csoma";

            nevek[10] = "Patkóm Ágnes";

            nevek[11] = "Szüre Tibor";

            nevek[12] = "Teo Dóra";

            nevek[13] = "Veg Eta";

            nevek[14] = "Zúz Mara";

            nevek[15] = "Halo Lajos";

            nevek[16] = "Citad Ella"; //ez a 17. elem, indexe: 16


            //Tömbelem értékének kiírása a képernyőre:

            Console.WriteLine("A tömb első eleme: {0}", nevek[0]);

            Console.WriteLine("A tömb utolsó eleme: {0}", nevek[16]);

            Console.WriteLine();


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérem a vezetékneved:");

            nevek[0] = Console.ReadLine();

            Console.Write("Kérem keresztneved:");

            nevek[1] = Console.ReadLine();


            //Művelet tömbelemekkel:

            Console.WriteLine("A neved: {0} {1}", nevek[0], nevek[1]);

            Console.WriteLine();


            //További példák:


            int[] egeszSzamok = new int[10]; //10 elemű a tömb


            egeszSzamok[0] = 86;

            egeszSzamok[1] = 234217;

            //...

            egeszSzamok[9] = 56; //ez az utolsó, a 10. elem, indexe:9


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérek egy egész számot:");

            egeszSzamok[0] = Convert.ToInt32(Console.ReadLine());

            Console.Write("Kérek egy újabb egész számot:");

            egeszSzamok[9] = Convert.ToInt32(Console.ReadLine());



            //Művelet tömbelemekkel:

            Console.WriteLine("Első és utolsó elem összege: {0}", egeszSzamok[0] + egeszSzamok[9]);

            Console.WriteLine();


            byte[] kisSzamok = new byte[20]; //20 elemű a tömb


            kisSzamok[0] = 31;

            kisSzamok[1] = 255;

            //...

            kisSzamok[19] = 4; //ez az utolsó, a 20. elem, indexe:19


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérek egy egész számot 0 és 255 között:");

            kisSzamok[0] = Convert.ToByte(Console.ReadLine());

            Console.Write("Kérek egy újabb egész számot 0 és 255 között:");

            kisSzamok[9] = Convert.ToByte(Console.ReadLine());


            //Művelet tömbelemekkel:

            Console.WriteLine("Első és utolsó elem különbsége: {0}", kisSzamok[0] - kisSzamok[9]);

            Console.WriteLine();


            double[] valosSzamok = new double[100];


            valosSzamok[0] = 76.78;

            valosSzamok[1] = 9943.571;

            //...

            valosSzamok[99] = 0.5; //ez az utolsó!


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérek egy tört számot:");

            valosSzamok[0] = Convert.ToDouble(Console.ReadLine());

            Console.Write("Kérek egy újabb tört számot:");

            valosSzamok[99] = Convert.ToDouble(Console.ReadLine());


            //Művelet tömbelemekkel:

            Console.WriteLine("Második elem osztva az utolsóval: {0}", valosSzamok[1] / valosSzamok[99]);

            Console.WriteLine();


            char[] betuk = new char[55];


            betuk[0] = 'g';

            betuk[1] = 'f';

            //...

            betuk[54] = 'W'; //ez az utolsó!  


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérek egy betűt:");

            betuk[0] = Convert.ToChar(Console.ReadLine());

            Console.Write("Kérek egy újabb betűt:");

            betuk[9] = Convert.ToChar(Console.ReadLine());

            

            //Művelet tömbelemekkel:

            Console.WriteLine("A két betű egy szóként: {0}", Convert.ToString(betuk[0]) + Convert.ToString(betuk[9]));

            Console.WriteLine();


            bool[] logikaiErtekek = new bool[7];


            logikaiErtekek[0] = true;

            logikaiErtekek[1] = false;

            //...

            logikaiErtekek[6] = true; //ez az utolsó!


            //Tömbelem értékadása billentyűzetről (felülírjuk az eredeti értékeket):

            Console.Write("Kérek egy logikai értéket (true/false):");

            logikaiErtekek[0] = Convert.ToBoolean(Console.ReadLine());

            Console.Write("Kérek egy logikai értéket (true/false):");

            logikaiErtekek[1] = Convert.ToBoolean(Console.ReadLine());


            //Művelet tömbelemekkel:

            Console.WriteLine("első logikai érték ÉS a második logikai érték: {0}", logikaiErtekek[0] && logikaiErtekek[1]);

            Console.WriteLine();

           

            Console.ReadLine();


            //Feladatok:


            //1.Hozz létre egy egész értékeket tartalmazó tömböt kedved szerinti elemszámmal (max. 5).

            //2.Töltsd föl adatokkal.

           

            //3.Írd ki két tetszőleges elem értékét a képernyőre.


            //4.Írd ki a képernyőre egy szomszédos elemmel végzett szorzás eredményét.

           

            //5.A fenti műveleteket ismételd meg más adattípusokkal, tehát double, char, stb. tömbökkel.

            //Mindig az adattípusnak megfelelő műveleteket végezz.

            //Pl.: double, byte: matematikai művelet;

            //char: nagybetűsre alakítás (előtte stringgé kell alakítani);

            //string: mondjuk meg a hosszát (.Length);

            //bool: logikai művelet


          

            Console.ReadLine();

        }

    }

}

2024.02.15.-16. Helyettesítés

 Adatbázis: vizsgaremek adatbázisának befejezése teljesen készre, dokumentáció kiegészítése, befejezése. Vizsgaremek felületének megvalósítá...