2022.02.16.,18. Lista - gyakorlás

Ezzel készen vagyunk.

 Feladat: Gyümölcsök vitamintartalma

gyümölcs

B1 vitamin tartalom

C vitamin tartalom

alma

0,02

4

ananász

0,03

17

citrom

0,02

53

cseresznye

0,06

10

fekete áfonya

0,06

14

földieper

0,07

59

grapefruit

0,02

38

őszibarack

0,05

7

alma0,024

ananász0,0317

citrom0,0253

cseresznye0,0610

fekete áfonya0,0614

földieper0,0759

grapefruit0,0238

őszibarack0,057 


Ebben a táblázatban a gyümölcsök nevei mellett elsőként az szerepel, hogy hány mg B1 vitamint tartalmaznak, másodikként pedig az, hogy hány mg C vitamint tartalmaznak. A táblázatból készíts egy szöveges fájlt. Használj egy megfelelő elválasztó karaktert.

- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

- Írd ki annak a gyümölcsnek a nevét, amelyik a legtöbb C vitamint tartalmazza.

- A szöveges fájlt később ki szeretnénk egészíteni az összes gyümölcs adataival. Erre is felkészülve add meg a választ: benne van-e a fájlban az avokádó? Ha benne van, írd ki, hogy hol van. Ha nincs benne, írj hibaüzenetet. Ha megtaláltad az avokádót, ne keresd tovább, állj meg.

(Jó tanács: mivel most nincs benne, tesztelj egy másik gyümölcs nevével.)

- Átlagosan hány mg B1 vitamint tartalmaznak a fájlban található gyümölcsök? (Össze kell adni mindet és elosztani a darabszámmal.)

- Ezt az egyetlen értéket (az átlagot) írd ki egy új fájlba.


ALEX MEGOLDÁSA: MÉG ÁT KELL NÉZNI!

using System;
using System.IO;
using System.Collections.Generic;

namespace _2022._02._16_8.ora
{
    class Program
    {
        static List<string> nev = new List<string>();
        static List<double> b1 = new List<double>();
        static List<int> c = new List<int>();
       
        static void beolvas()

        {
            string[] atmenet;
            StreamReader sr = new StreamReader("gyumolcs.txt");
            int i = 0;
            while (!sr.EndOfStream)
            {
                atmenet = sr.ReadLine().Split(";");
                nev.Add(atmenet[0]);
                b1.Add(Convert.ToDouble(atmenet[1]));
                c.Add(Convert.ToInt32(atmenet[2]));
                i++;
            }
            sr.Close();
         }
        static void kiir()
        {
            int I = 0;
            while (I<nev.Count)
            {
                Console.WriteLine("{0} {1} {2}", nev[I], b1[I], c[I]);
                I++;
            }
           
        }
        static void max()
        {
            int max = c[0];

            for (int i = 0; i < c.Count; i++)

            {

                if (c[i] > max)

                {

                    max = c[i];

                }

            }

            Console.WriteLine("Ebbe van a legtobb c vitamin", max);
        }
        //-Ebben a táblázatban a gyümölcsök nevei mellett elsőként az szerepel, hogy hány mg B1 vitamint tartalmaznak, másodikként pedig az, hogy hány mg C vitamint tartalmaznak.
        //A táblázatból készíts egy szöveges fájlt.Használj egy megfelelő elválasztó karaktert.

        //- Olvasd be a fájl tartalmát, majd írd ki a képernyőre.

        //- Írd ki annak a gyümölcsnek a nevét, amelyik a legtöbb C vitamint tartalmazza.

        //- A szöveges fájlt később ki szeretnénk egészíteni az összes gyümölcs adataival.Erre is felkészülve add meg a választ: benne van-e a fájlban az avokádó? Ha benne van, írd ki, hogy hol van.Ha nincs benne, írj hibaüzenetet. Ha megtaláltad az avokádót, ne keresd tovább, állj meg.

        //(Jó tanács: mivel most nincs benne, tesztelj egy másik gyümölcs nevével.)

        //- Átlagosan hány mg B1 vitamint tartalmaznak a fájlban található gyümölcsök? (Össze kell adni mindet és elosztani a darabszámmal.)

        //- Ezt az egyetlen értéket(az átlagot) írd ki egy új fájlba.
        static void Main(string[] args)
        {
            beolvas();
            kiir();
            max();
            Console.ReadLine();
        }
    }
}


2022.02.16. Lista - bevezetés

  MINTAPROGRAM LISTA HASZNÁLATÁRA

using System;
using System.Collections.Generic;


namespace lista
{ //A lista egy dinamikus tömb, ami legfőképp abban nyilvánul meg, hogy nem kell megmondani előre, hány eleme legyen.
    class Program
    {
        static Random rnd = new Random();
        static List<int> veletlenLista = new List<int>(); //nem kell megadni a hosszát
        //Emlékeztetésképpen - ha tömb lenne, így nézne ki (ezt most nem használjuk semmire):
        //static int[] veletlenTomb = new int[90];  //itt el kéne dönteni, hány elem legyen

        static List<int> jegyekLista = new List<int>();
        static void veletlen()
        {
            for (int i = 0; i < 90; i++)
            {
                veletlenLista.Add(rnd.Next(-20, 41));  //.Add kell, ha hozzá akarunk tenni egy elemet a lista végére (első esetben is)
            }
        }
        static void kiiras()
        {
            for (int i = 0; i < veletlenLista.Count; i++) //.Count-ig megyünk, ha végig akarunk menni
            {
                Console.WriteLine(veletlenLista[i]); //a lista i-edik elemére ugyanúgy hivatkozunk, mint a tömbnél
            }
        }

        static void pozitivNegativ()
        {
            int poz = 0;
            int neg = 0;
            foreach (int x in veletlenLista) //a foreach ugyanúgy "magától" végigmegy
            {
                if (x < 0) neg++;
                if (x > 0) poz++;
            }

            if (neg > poz)
            {
                Console.WriteLine("Több a negatív szám.");
            }
            else
            {
                if (neg < poz)
                {
                    Console.WriteLine("Több a pozitív szám.");
                }
                else Console.WriteLine("Egyenlő a pozitív és a negatív szám.");
            }
        }
        static void adatbekeres()
        {
            for (int i = 0; i < 8; i++) //úgy döntöttünk itt és most, hogy 8 jegyet kérünk be
            {
                Console.Write("Kérem írja be a(z) {0}. tanuló jegyét:", i + 1);
                jegyekLista.Add(Convert.ToInt32(Console.ReadLine()));
            }
        }
        static void atlagSzamitas()
        {
            int sum = 0;
            for (int i = 0; i < jegyekLista.Count; i++)
            {
                sum += jegyekLista[i];
            }
            double atlag = (double)sum / jegyekLista.Count;
            Console.WriteLine("Átlaguk: {0}", atlag);
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Adatfeltöltés");
            veletlen();
            Console.WriteLine("Kiírás");
            kiiras();
            Console.ReadLine();
            Console.WriteLine("Pozitív-negatív számlálás");
            pozitivNegativ();
            Console.ReadLine();
            Console.WriteLine("Feltöltés billentyűzetről");
            adatbekeres();
            Console.ReadLine();
            Console.WriteLine("Átlagszámítás");
            atlagSzamitas();
            Console.ReadLine();
        }

    }

}

2022.02.16. Gyakorlás

 A másik csoport feladatsorát befejeztük.


2023.04.26. Javító feladatsor