2020. március 13., péntek

2020.03.13./2. Tömbkezelés gyakorlása I. + megoldás+videó

A feladatsort módosítottam, az 1. csoport legyen szíves ennek megfelelően megoldani a feladatokat!

//            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.Ehhez segítségképpen keresd meg a blogban azt a leckét, amiben a kettővel oszthatóságot vizsgáltuk.
//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.
//Ezt nem kell megoldani:
//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ő.


//            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.

            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(0, 3));
            //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();



Kiegészítés:
A megoldásaitokban láttam, hogy a tömböt valaki nem a tanult módon tölti fel, például így:        
            int[] inttomb = new int[5]
            {
                    40,
                    69,
                    100,
                    22,
                    15
            };
            int[] inttomb1 = new int[] {40,69,100,22,15};

Lehet egymástól tanulni, csak értsd, mit csinálsz. Az első esetben fölösleges megadni a hosszot, mert azonnal megadjuk az elemeket.
A második esetben az, hogy ugyanabban a sorban adtuk meg az értékeket, semmi különbséget nem jelent, ez a szokásos megoldás.
Ugyanakkor fontos, hogy a tanult módon is tudj hivatkozni az elemekre.

Nincsenek megjegyzések:

Megjegyzés küldése