2020. április 21., kedd

2020.04.22. A ciklusok - bevezetés + megoldás + videó

Nézd meg először ezt a videót. Köszönet érte Ozsvárt Károlynak!

Utána oldd meg ezt a feladatsort:
namespace forCiklusBevezetese
{
    class Program
    {
        static void Main(string[] args)
        {
            // Ciklusok bevezetés – a FOR ciklus
            // Feladat: Hozzunk létre egy 10 elemű tömböt egész számok tárolására.
            // Töltsük föl véletlen számokkal.
            // Írjuk ki a képernyőre soronként a számokat.

            int[] tomb = new int[10];
            Random rnd = new Random();

            tomb[0] = rnd.Next();
            tomb[1] = rnd.Next();
            tomb[2] = rnd.Next();
            tomb[3] = rnd.Next();
            tomb[4] = rnd.Next();
            tomb[5] = rnd.Next();
            tomb[6] = rnd.Next();
            tomb[7] = rnd.Next();
            tomb[8] = rnd.Next();
            tomb[9] = rnd.Next();
            Console.WriteLine("A 10 elemű tömb aktuális elemeinek kiírása hagyományosan:");
            Console.WriteLine(tomb[0]);
            Console.WriteLine(tomb[1]);
            Console.WriteLine(tomb[2]);
            Console.WriteLine(tomb[3]);
            Console.WriteLine(tomb[4]);
            Console.WriteLine(tomb[5]);
            Console.WriteLine(tomb[6]);
            Console.WriteLine(tomb[7]);
            Console.WriteLine(tomb[8]);
            Console.WriteLine(tomb[9]);

            Console.ReadLine();

            //Végezzük el ezt a feladatot egy 1000 elemű tömbbel!
            //?????????
            //Megoldás: a ciklus.
            //A ciklusok közül elsőként a for ciklust tanuljuk.

            // A fenti tömb feltöltése:

            for (int i = 0; i < tomb.Length; i++)
            {
                tomb[i] = rnd.Next();
            }

            //A fenti tömb elemeinek kiírása:
            Console.WriteLine("A 10 elemű tömb aktuális elemeinek kiírása ciklussal:");
            for (int i = 0; i < tomb.Length; i++)
            {
                Console.WriteLine(tomb[i]);
            }

            Console.ReadLine();

            //for               kulcsszó
            //i                 ciklusváltozó
            //i<tomb.Length()   kilépési feltétel
            //i++               a ciklusváltozó növelése 1-gyel
            //ciklusmag         a {} közötti terület, ide több utasítást is lehet írni


            //1. feladat:
            //Töltsünk fel egy 5000 elemű tömböt véletlen valós számokkal.
            //Írjuk ki a képernyőre ezeket a számokat is.
            //Minden szám előtt legyen ott a tömb indexe.


            //2. feladat:
            //Töltsünk fel egy 10 elemű tömböt igaz-hamis értékekkel,
            //amelyeket a felhasználótól kérünk be.
            //Írjuk ki ezeket is a képernyőre.


            //3. feladat:
            //A 2-es feladat kiírását ismételjük meg úgy, hogy a képernyőre
            //magyarul írjuk ki igaz/hamis formában a tartalmat.
           

            //4. feladat:
            //Töltsünk fel egy 5 elemű tömböt egy mondat szavaival,
            //amelyeket a felhasználótól kérünk be.
            //Írjuk ki a szavakat mondatként!

           
            //5. feladat:
            //Töltsünk fel egy 20 elemű tömböt betűkkel,
            //amelyeket a felhasználótól kérünk be.
            //Írassuk ki a betűket egy szóként a képernyőre.


            //6. feladat:
            //Töltsünk fel egy tetszőleges hosszúságú
            //byte tömböt véletlen számokkal.
            //Írjuk ki a képernyőre ezeket a számokat is.


            //7. feladat:
            //Írjuk ki a tömb minden elemét az utolsótól
            //az elsőig, egyesével visszafelé haladva.
            //Figyeljük meg a ciklusváltozó, és a feltétel
            //kezelését.


Megoldás:
//1. feladat:
            //Töltsünk fel egy 5000 elemű tömböt véletlen valós számokkal.
            //Írjuk ki a képernyőre ezeket a számokat is.
            //Minden szám előtt legyen ott a tömb indexe.
            Random rnd = new Random();
            double[] tombValos = new double[5000];

            for (int i = 0; i < tombValos.Length; i++)
            {
                tombValos[i] = rnd.Next(); //egész számot bele lehet tenni a valós tömbbe
            }

            Console.WriteLine("Az 5000 elemű tömb elemeinek kiírása következik ciklussal:");
            Console.ReadLine();
            for (int i = 0; i < tombValos.Length; i++)
            {
                Console.WriteLine("{0,6}: {1}", i, tombValos[i]);
                //az i itt a tömbelemek indexét mutatja
            }

            //2. feladat:
            //Töltsünk fel egy 10 elemű tömböt igaz-hamis értékekkel,
            //amelyeket a felhasználótól kérünk be.
            //Írjuk ki ezeket is a képernyőre.

            bool[] tombLogikai = new bool[10];
            Console.WriteLine("Írjon be egymás után 10 logikai értéket true/false formában!");

            for (int i = 0; i < tombLogikai.Length; i++)
            {
                Console.Write("Kérem a logikai értéket: ");
                tombLogikai[i] = Convert.ToBoolean(Console.ReadLine());
            }

            Console.WriteLine("A logikai tömb elemeinek kiírása következik ciklussal: ");
            for (int i = 0; i < tombLogikai.Length; i++)
            {
                Console.WriteLine(tombLogikai[i]);
            }

            //3. feladat:
            //A 2-es feladat kiírását ismételjük meg úgy, hogy a képernyőre
            //magyarul írjuk ki igaz/hamis formában a tartalmat.
            Console.WriteLine("A logikai tömb elemeinek kiírása következik magyarul, ciklussal: ");
            for (int i = 0; i < tombLogikai.Length; i++)
            {
                if (tombLogikai[i] == true)
                    Console.WriteLine("igaz");
                else
                    Console.WriteLine("hamis");
            }

            //4. feladat:
            //Töltsünk fel egy 5 elemű tömböt egy mondat szavaival,
            //amelyeket a felhasználótól kérünk be.
            //Írjuk ki a szavakat mondatként!

            string[] tombString = new string[5];

            Console.WriteLine("Írja be egy 5 szóból álló mondat szavait egymás után!");

            for (int i = 0; i < tombString.Length; i++)
            {
                Console.Write("Kérem a(z) {0}. szót: ", i + 1);
                tombString[i] = Console.ReadLine();
            }
            Console.WriteLine("Az összeállított mondat: ");
            for (int i = 0; i < tombString.Length; i++)
            {
                Console.Write("{0} ", tombString[i]);
            }
            Console.WriteLine();

            //5. feladat:
            //Töltsünk fel egy 20 elemű tömböt betűkkel,
            //amelyeket a felhasználótól kérünk be.
            //Írassuk ki a betűket egy szóként a képernyőre.

            char[] tombChar = new char[20];

            Console.WriteLine("Írjon be egymás után 20 betűt!");

            for (int i = 0; i < tombChar.Length; i++)
            {
                Console.Write("Kérem a(z) {0}. betűt: ", i);
                tombChar[i] = Convert.ToChar(Console.ReadLine());
            }
            Console.WriteLine("A betűk egymás után: ");
            for (int i = 0; i < tombChar.Length; i++)
            {
                Console.Write(tombChar[i]);
            }
            Console.ReadLine();

            //6. feladat:
            //Töltsünk fel egy tetszőleges hosszúságú
            //byte tömböt véletlen számokkal.
            //Írjuk ki a képernyőre ezeket a számokat is.

            byte[] tombByte = new byte[100];

            for (int i = 0; i < tombByte.Length; i++)
            {
                tombByte[i] = Convert.ToByte(rnd.Next(0, 256));
            }
            Console.WriteLine("A byte tömb tartalma következik ciklussal kiírva: ");
            Console.ReadLine();
            for (int i = 0; i < tombByte.Length; i++)
            {
                Console.WriteLine(tombByte[i]);
            }
            Console.ReadLine();

            //7. feladat:
            //Írjuk ki a tömb minden elemét az utolsótól
            //az elsőig, egyesével visszafelé haladva.
            //Figyeljük meg a ciklusváltozó, és a feltétel
            //kezelését.
            Console.WriteLine("A byte tömb tartalma következik visszafelé: ");
            for (int i = tombByte.Length - 1; i >= 0; i--)
            {
                Console.WriteLine(tombByte[i]);
            }



            Console.ReadLine();

Nincsenek megjegyzések:

Megjegyzés küldése