2020. április 28., kedd

2020.04.28. Tömbös dolgozat megoldása + videó


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dolgozat
{
    class Program
    {
        static void Main(string[] args)
        {
            //1.Hozz létre egy 3 elemű tömböt szövegek tárolására.
            string[] szavak = new string[3];
            //2.Töltsd föl programból állatok neveivel.
            szavak[0] = "kutya";
            szavak[1] = "macska";
            szavak[2] = "egér";
            //3.Hozz létre egy újabb 3 elemű tömböt byte típusú számok tárolására.
            byte[] szam = new byte[3];
            //4.Töltsd föl programból a byte tömb elemeit a szöveges tömb azonos indexű elemeinek a
            //hosszával.
            szam[0] = Convert.ToByte(szavak[0].Length);
            szam[1] = Convert.ToByte(szavak[1].Length);
            szam[2] = Convert.ToByte(szavak[2].Length);
            //5.Számold ki egy változóba, majd írd ki az összes szó hosszának átlagát.
            double osszhossz = Convert.ToDouble(szam[0] + szam[1] + szam[2]);
            double osszatlag = osszhossz / 3;
            Console.WriteLine("Az összes szó hosszának átlaga: {0}", osszatlag);
            //----------------------------------------------------------------------------------
            //6.Hozz létre egy új, 3 elemű tömböt egész számok tárolására.
            int[] szam2 = new int[3];
            //7.A tömb elemeinek kezdőértékét add meg programból: mindegyik legyen nulla.
            //(Eredetileg is annyi, de most mégis tedd ezt meg.)
            szam2[0] = 0;
            szam2[1] = 0;
            szam2[2] = 0;
            //----------------------------------------------------------------------------------
            //Ezeket kell felülírnod a felhasználótól bekért számokkal a következőképpen (8-10.
            //feladat):
            //8.Írd ki az elején egyszer, hogy nullánál nagyobb, vagy nullánál kisebb egész számokat
            //írhat be (nullát nem).
            //9.Egy változóba kérd be a számot, és vizsgáld meg a következőképpen egymásba ágyazott
            //szelekciókkal:
            //Ha a szám negatív, akkor írd ki, hogy negatív.
            //Ha pozitív, írd ki, hogy pozitív.
            //Ha jó számot írt be, tedd be a tömbben a helyére.
            //Ha nulla, írj ki hibaüzenetet(a tömbelem értéke nulla marad).
            //1. megoldás:
            Console.Write("Írj be egy nullánál nagyobb, vagy nullánál kisebb egész számot: ");
            int beszam = Convert.ToInt32(Console.ReadLine());
            int nulla = 0; //ez a nullák megszámlálásának első módszeréhez kell
            if (beszam > 0)
            {
                Console.WriteLine("Ez pozitív szám!");
                szam2[0] = beszam;
            }
            else
            {
                if (beszam < 0)
                {
                    Console.WriteLine("Negatív szám");
                    szam2[0] = beszam;
                }
                else
                {
                    Console.WriteLine("HIBA!");
                    nulla++;
                }
            }
            Console.Write("Írj be egy nullánál nagyobb, vagy nullánál kisebb egész számot: ");
            beszam = Convert.ToInt32(Console.ReadLine());

            //10.A többi tömbelemmel ugyanígy járj el.
            if (beszam > 0)
            {
                Console.WriteLine("Ez pozitív szám!");
                szam2[1] = beszam;
            }
            else
            {
                if (beszam < 0)
                {
                    Console.WriteLine("Negatív szám");
                    szam2[1] = beszam;
                }
                else
                {
                    Console.WriteLine("HIBA!");
                    nulla++;
                }
            }
            Console.Write("Írj be egy nullánál nagyobb, vagy nullánál kisebb egész számot: ");
            beszam = Convert.ToInt32(Console.ReadLine());
            if (beszam > 0)
            {
                Console.WriteLine("Ez pozitív szám!");
                szam2[2] = beszam;
            }
            else
            {
                if (beszam < 0)
                {
                    Console.WriteLine("Negatív szám");
                    szam2[2] = beszam;
                }
                else
                {
                    Console.WriteLine("HIBA!");
                    nulla++;
                }
            }

            //----------------------------------------------------------------------------------
            //11.Számold meg, hány nulla van a tömbben. Írd ki a képernyőre.
            //második módszer:
            nulla = 0;
            if (szam2[0] == 0)
            {
                nulla++;
            }
            if (szam2[1] == 0)
            {
                nulla++;
            }
            if (szam2[2] == 0)
            {
                nulla++;
            }
            Console.WriteLine("A tömbben {0} nulla van!", nulla);
            //----------------------------------------------------------------------------------
            //12.Írd ki a képernyőre a számokat egymás mellé, közöttük pontosvessző legyen.
            Console.WriteLine("{0};{1};{2}", szam2[0], szam2[1], szam2[2]);
            //13.Csökkentsd le a tömb minden elemének értékét 1-gyel. (Nem feladat, de érdemes újra
            //kiírni az elemeket ellenőrzésképpen.)
            szam2[0]--; //másik megoldás: szam2[0] -= 1 harmadik megoldás: szam2[0] = szam2[0] - 1
            szam2[1]--;
            szam2[2]--;
            //----------------------------------------------------------------------------------
            //14.Tölts föl egy új, 10 elemű, egész számokat tartalmazó tömböt
            //1 és 100 közötti véletlenszámokkal (lehessen 1 is és 100 is).
            Random rnd = new Random();
            int[] szam3 = new int[10];
            szam3[0] = rnd.Next(1, 101);
            szam3[1] = rnd.Next(1, 101);
            szam3[2] = rnd.Next(1, 101);
            szam3[3] = rnd.Next(1, 101);
            szam3[4] = rnd.Next(1, 101);
            szam3[5] = rnd.Next(1, 101);
            szam3[6] = rnd.Next(1, 101);
            szam3[7] = rnd.Next(1, 101);
            szam3[8] = rnd.Next(1, 101);
            szam3[9] = rnd.Next(1, 101);
            //15.Írd ki függvény segítségével, hány elemű a tömb.
            Console.WriteLine("A tömb hossza: {0}", szam3.Length);

            //16.Írd ki a tömb elemeit a képernyőre, mindegyiket új sorba
            //a következő formának megfelelően, pl.: Az 1. tömbelem értéke: 55.
            //A sorszámozás 1-től kezdődjön, és változó segítségével írd ki.
            //első módszer:
            int szamlalo = 1;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[0]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[1]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[2]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[3]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[4]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[5]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[6]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[7]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[8]);
            szamlalo++;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[9]);

            //második módszer:
            szamlalo = 1;
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[0]);//először kiírja, utána megnöveli eggyel a szamlalo értékét
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[1]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[2]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[3]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[4]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[5]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[6]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[7]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo++, szam3[8]);
            Console.WriteLine("A(z) {0}. tömbelem értéke: {1}", szamlalo, szam3[9]);


            //----------------------------------------------------------------------------------
            //Szelekcióval oldd meg a következőket:
            //17.Ha a tömbben lévő utolsó szám osztható 10-zel,
            //akkor írd ki a 10-zel való osztás eredményét a képernyőre.

            if (szam3[9] % 10 == 0)
            {
                Console.WriteLine("Osztható tízzel. A művelet eredménye: {0}", szam3[9] / 10);
            }
            //18.Ha az utolsó szám nem osztható 10-zel, akkor írd ki a képernyőre
            //a következő szorzat eredményét (függvényeket használj):
            //szám négyzetgyöke * a szám a hatodikon
            else
            {
                Console.WriteLine("Nem osztható tízzel. A művelet eredménye: {0}", Math.Sqrt(szam3[9]) * Math.Pow(szam3[9], 6));
            }

            //----------------------------------------------------------------------------------
            //19.Cseréld meg az utolsó tömb sorrendben első és utolsó elemét.
            //(Magadnak kiírhatod az elemeket újra.)
            int csere = szam3[0];
            szam3[0] = szam3[9];
            szam3[9] = csere;

            Console.ReadLine();
        }
    }
}