2022. március 31., csütörtök

2022.03.31. NFL irányítók, Utazási iroda megoldás

 using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace IranyitoMutato
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private double Szamol(int kiserlet, int sikeres, int yardok, int tdPassz, int eladott)
        {
            double a, b, c, d;
            a = MinMax(((double)sikeres / kiserlet - 0.3) * 5);
            b = MinMax(((double)yardok / kiserlet - 3) * 0.25);
            c = MinMax(((double)tdPassz / kiserlet) * 20);
            d = MinMax(2.375 - ((double)eladott / kiserlet) * 25);

            return 100 * (a + b + c + d) / 6;
        }

        private double MinMax(double x)
        {
            if (x < 0) return 0;
            if (x > 2.375) return 2.375;
            return x;
        }

        private void tbKísérlet_TextChanged(object sender, TextChangedEventArgs e)
        {
            int kísérlet;
            if (int.TryParse(tbKísérlet.Text,out kísérlet) && kísérlet > 0)
            {
                tbEladott.IsEnabled = true;
                tbSikeres.IsEnabled = true;
                tbTDk.IsEnabled = true;
                tbYardok.IsEnabled = true;
            }
        }

        private void btnSzamol_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                double mutató = Math.Round(
                Szamol(int.Parse(tbKísérlet.Text),
                       int.Parse(tbSikeres.Text),
                       int.Parse(tbYardok.Text),
                       int.Parse(tbTDk.Text),
                       int.Parse(tbEladott.Text)), 2);
                lMutató.Foreground = Brushes.Black;
                lMutató.Content = "Irányító mutató: " + mutató;
            }
            catch (Exception)
            {
                lMutató.Foreground = Brushes.Red;
                lMutató.Content = "Hibás adat";

            }
        }
    }
}


<Window x:Class="IranyitoMutato.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:IranyitoMutato"
        mc:Ignorable="d"
        Title="Irányító mutató kalkulátor" Height="223" Width="564">
    <Grid>
        <Label Content="Átadási kísérletek száma:" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/>
        <Label Content="Sikeres átadások száma:" HorizontalAlignment="Left" Margin="10,40,0,0" VerticalAlignment="Top"/>
        <Label Content="Passzolt yardok:" HorizontalAlignment="Left" Margin="10,70,0,0" VerticalAlignment="Top"/>
        <Label Content="Tochdown passzok:" HorizontalAlignment="Left" Margin="10,100,0,0" VerticalAlignment="Top"/>
        <Label Content="Eladott átadások:" HorizontalAlignment="Left" Margin="10,130,0,0" VerticalAlignment="Top"/>
        <TextBox x:Name="tbKísérlet" HorizontalAlignment="Left" Margin="163,14,0,0" Text="0" TextWrapping="Wrap" VerticalAlignment="Top" Width="40" TextAlignment="Center" TextChanged="tbKísérlet_TextChanged"/>
        <TextBox x:Name="tbSikeres" IsEnabled="False" HorizontalAlignment="Left" Margin="163,44,0,0" Text="0" TextWrapping="Wrap" VerticalAlignment="Top" Width="40" TextAlignment="Center"/>
        <TextBox x:Name="tbYardok" IsEnabled="False"  HorizontalAlignment="Left" Margin="163,74,0,0" Text="0" TextWrapping="Wrap" VerticalAlignment="Top" Width="40" TextAlignment="Center"/>
        <TextBox x:Name="tbTDk" IsEnabled="False"  HorizontalAlignment="Left" Margin="163,104,0,0" Text="0" TextWrapping="Wrap" VerticalAlignment="Top" Width="40" TextAlignment="Center"/>
        <TextBox x:Name="tbEladott" IsEnabled="False"  HorizontalAlignment="Left" Margin="163,134,0,0" Text="0" TextWrapping="Wrap" VerticalAlignment="Top" Width="40" TextAlignment="Center"/>
        <Label Name="lMutató" Content="Irányító mutató:" HorizontalAlignment="Left" Margin="288,66,0,0" VerticalAlignment="Top" FontWeight="Bold" FontSize="20"/>
        <Button x:Name="btnSzamol" Content="Számol" HorizontalAlignment="Left" Margin="330,111,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.177,-0.185" Width="62" Click="btnSzamol_Click"/>

    </Grid>
</Window>


Az osztály meg volt adva:

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

namespace NFL
{
    class Jatekos
    {
        public string Név { get; set; }
        public int Yardok { get; set; }
        public int Kísárletek { get; set; }
        public int Passzok { get; set; }
        public int TDk { get; set; }
        public int Eladott { get; set; }
        public double Mutató { get; set; }
        public string Egyetem { get; set; }
        public int YardMeterben
        {
            get
            {
                return (int)Math.Round(Yardok * 0.9144);
            }
        }
        public Jatekos(string sor)
        {
            //Deshaun Watson;4823;544;382;33;7;112,4;Clemson
            string[] adatok = sor.Split(';');
            Név = adatok[0];
            Yardok = int.Parse(adatok[1]);
            Kísárletek = int.Parse(adatok[2]);
            Passzok = int.Parse(adatok[3]);
            TDk = int.Parse(adatok[4]);
            Eladott = int.Parse(adatok[5]);
            Mutató = Konvertal(adatok[6]);
            Egyetem = adatok[7];
        }
        private double Konvertal(string iranyitoMutato)
        {
            var decimalSeparator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
            iranyitoMutato = iranyitoMutato.Replace(",", decimalSeparator).Replace(".", decimalSeparator);
            if (double.TryParse(iranyitoMutato, out var ertek))
                return ertek;
            throw new FormatException("Hibás érték (irányítómutató)");
        }

        public string FormazottNev(string nev)
        {
            var n = nev.Split(' ');
            n[n.Length - 1] = n[n.Length - 1].ToUpper();
            return string.Join(" ", n);
        }
    }
}


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

namespace NFL
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Jatekos> játékosok = new List<Jatekos>();
            foreach (var sor in File.ReadAllLines("NFL_iranyitok.txt"))
            {
                játékosok.Add(new Jatekos(sor));
            }

            Console.WriteLine("5. feladat: A statisztikában {0} irányító szerepel.",játékosok.Count);

            Console.WriteLine("7. feladat: Legjobb irányítók:");
            foreach (var item in játékosok)
            {
                if (item.Mutató >= 100 && item.YardMeterben >= 4000)
                {
                    Console.WriteLine("\t{0} (Irányító mutató: {1}. Passzok: {2}m.",
                        item.FormazottNev(item.Név),item.Mutató,item.YardMeterben);
                }
            }

            Console.Write("8. feladat: Eladott labdák száma: ");
            int eladott = int.Parse(Console.ReadLine());
            List<string> legtobbeladott = new List<string>();
            foreach (var item in játékosok)
            {
                if (item.Eladott > eladott)
                    legtobbeladott.Add(item.FormazottNev(item.Név));
            }
            legtobbeladott.Sort();
            File.WriteAllLines("legtobbeladott.txt", legtobbeladott);

            int legjobb = 0;
            for (int i = 1; i < játékosok.Count; i++)
            {
                if (játékosok[i].TDk > játékosok[legjobb].TDk)
                {
                    legjobb = i;
                }
            }
            Console.WriteLine("9. feladat: A legtöbb TD-t szerző játékos: ");
            Console.WriteLine("\tNeve: {0}",játékosok[legjobb].Név);
            Console.WriteLine("\tTD-k száma: {0}",játékosok[legjobb].TDk);
            Console.WriteLine("\tEladott labdák száma: {0}",játékosok[legjobb].Eladott);

            Dictionary<string, int> stat = new Dictionary<string, int>();
            foreach (var item in játékosok)
            {
                if (stat.ContainsKey(item.Egyetem))
                    stat[item.Egyetem]++;
                else
                    stat.Add(item.Egyetem, 1);
            }

            Console.WriteLine("10. feladat: Legsikeresebb egyetemek:");
            foreach (var item in stat)
            {
                if (item.Value > 1)
                    Console.WriteLine("\t{0} - {1}",item.Key,item.Value);
            }
        }
    }
}
-- A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!

-- 11. feladat:
CREATE DATABASE utazas
    CHARACTER SET utf8
    COLLATE utf8_hungarian_ci;

-- 13. feladat:
UPDATE helyseg
  SET nev = 'Porec'
  WHERE nev = 'Porecs';

-- 14. feladat:
SELECT DISTINCT
  szalloda.nev
FROM utak
  INNER JOIN szalloda
    ON utak.szalloda_az = szalloda.az
WHERE szalloda.tengerpart_tav = 0
AND szalloda.felpanzio = 'Igen'
AND utak.indulas BETWEEN '2022.01.01' AND '2022.01.31';

-- 15. feladat:
SELECT
  szalloda.nev,
  szalloda.besorolas
FROM szalloda
WHERE szalloda.nev LIKE '%hotel%'
ORDER BY szalloda.nev;
 
-- 16. feladat:
SELECT
  helyseg.orszag AS Ország,
  COUNT(szalloda.az) AS `Szállodák száma`
FROM szalloda
  INNER JOIN helyseg
    ON szalloda.helyseg_az = helyseg.az
GROUP BY helyseg.orszag
ORDER BY `Szállodák száma` DESC;
 
-- 17. feladat:
SELECT
  szalloda.nev AS `Szálloda neve`,
  AVG(utak.ar) AS `Átlagár/fő`,
  szalloda.besorolas AS `Csillagok száma`
FROM szalloda
  INNER JOIN helyseg
    ON szalloda.helyseg_az = helyseg.az
  INNER JOIN utak
    ON utak.szalloda_az = szalloda.az
WHERE helyseg.orszag = 'Egyiptom'
AND utak.idotartam = 8
GROUP BY szalloda.az,
         szalloda.nev,
         szalloda.besorolas
ORDER BY `Átlagár/fő` DESC
LIMIT 1;




2022.03.31. Egyszámjáték, Napelemek megoldás

 using System;

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

namespace Egyszamjatek
{
    class Jatekos
    {
        public string Nev { get; private set; }
        public List<int> Tippek { get; private set; }
        public Jatekos(string sor)
        {
            string[] m = sor.Split();
            Nev = m[0];
            Tippek = new List<int>();
            foreach (var i in m.Skip(1)) Tippek.Add(int.Parse(i));
        }
    }

    class Egyszamjatek
    {
        static void Main()
        {
            List<Jatekos> t = new List<Jatekos>();
            foreach (var i in File.ReadAllLines("egyszamjatek1.txt"))
t.Add(new Jatekos(i));

            Console.WriteLine($"3. feladat: Játékosok száma: {t.Count} fő");

            Console.Write($"4. feladat: Kérem a forduló sorszámát: ");
            int fordulóSorszáma = int.Parse(Console.ReadLine());

            Console.WriteLine($"5. feladat: A megadott forduló
tippjeinek átlaga: {t.Average(x=>x.Tippek[fordulóSorszáma -1]):F2}");

            Console.ReadKey();
        }
    }
}


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace EgyszamjatekGUI
{
    class Jatekos
    {
        public string Nev { get; private set; }
        public List<int> Tippek { get; private set; }
        public int FordulokSzama { get { return Tippek.Count; } }
        public Jatekos(string sor)
        {
            string[] m = sor.Split();
            Nev = m[0];
            Tippek = new List<int>();
            foreach (var i in m.Skip(1)) Tippek.Add(int.Parse(i));
        }
    }

    public partial class MainWindow : Window
    {
        private List<Jatekos> jatekosok = new List<Jatekos>();

        public MainWindow()
        {
            InitializeComponent();
            AdatokBetoltese();
        }

        private void AdatokBetoltese()
        {
            foreach (var i in File.ReadAllLines("../../egyszamjatek2.txt"))
jatekosok.Add(new Jatekos(i));
        }

        private void JatekostHozzaad_Click(object sender, RoutedEventArgs e)
        {
            if (jatekosok.Exists(x => x.Nev == InputJatekos.Text))
            {
                MessageBox.Show("Van már ilyen nevű játékos!", "Hiba!");
                return;
            }
            if (jatekosok[0].FordulokSzama != InputTippek.Text.Split(' ').Where(x => x.Length != 0).ToList().Count)
            {
                MessageBox.Show("A tippek száma nem megfelelő!", "Hiba!");
                return;
            }

           
            try // nem a megoldás része
            {
                File.AppendAllText("../../egyszamjatek2.txt", $"{InputJatekos.Text}
{InputTippek.Text}\r\n");
                MessageBox.Show("Az állomány bővítése sikeres volt!", "Üzenet");
                InputJatekos.Text = "";
                InputTippek.Text = "";
                AdatokBetoltese();
            }
            catch (Exception ex) // nem a megoldás része
            {
                MessageBox.Show(ex.Message, "Hiba!");
            }
        }

        private void InputTippek_TextChanged(object sender, TextChangedEventArgs e)
        {
            TippDarab.Content = InputTippek.Text.Split(' ').Where(x => x.Length != 0).ToList().Count + " db";
        }
    }
}


<Window x:Class="EgyszamjatekGUI.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:EgyszamjatekGUI"
        mc:Ignorable="d"
        Title="Egyszámjáték GUI" Height="180" Width="500">
    <Canvas>
        <Label Content="Játékos neve" Canvas.Left="10" Canvas.Top="22" Name="jatekosNeve"/>
        <TextBox Canvas.Left="100" Canvas.Top="26" Width="200" Name="InputJatekos"/>
        <Label Content="Játékos tippjei" Canvas.Left="10" Canvas.Top="52" Name="JatekosTippjei"/>
        <TextBox Canvas.Left="100" Canvas.Top="56" Width="300" Name="InputTippek" TextChanged="InputTippek_TextChanged"/>
        <Label Content="0 db" Canvas.Left="417" Canvas.Top="52" Name="TippDarab"/>
        <Button Content="Játékos hozzáadása" Canvas.Left="150" Canvas.Top="100" Width="200" Name="JatekostHozzaad" Click="JatekostHozzaad_Click"/>
    </Canvas>
</Window>


-- A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!


-- 1. feladat:
CREATE DATABASE napelem
    DEFAULT CHARACTER SET utf8
        COLLATE utf8_hungarian_ci;

-- 3. feladat:
UPDATE
    regiok
SET
    regioNev='Észak-Írország'
WHERE
    regioNev='Észak Írország';

-- 4. feladat:
SELECT
    COUNT(id) AS rekordszam,
    AVG(perc) AS atlag
FROM
    meresek;


-- 5. feladat:
SELECT
    ev,
    SUM(perc)/60 AS orak
FROM
    meresek INNER JOIN regiok ON meresek.regioId=regiok.id
WHERE
    regiok.regioNev='Anglia'
    AND
    ev BETWEEN 1990 AND 2000
GROUP BY
    ev
ORDER BY
    ev DESC;

-- 6. feladat:
SELECT
    ev,
    perc,
    regioNev AS terulet
FROM
    meresek INNER JOIN regiok ON meresek.regioId=regiok.id
WHERE
    ho=2
    AND
    perc>6000
ORDER BY
    perc DESC;

2022.03.30. Egyszámjáték (prog.), Napelemek (AB)

 Elkezdtük, itt folytatjuk.

2022. március 25., péntek

2022.03.25. Gyakorlás (Atlétika, Mo. városai)

 Megnéztük a két példaprogramot és befejeztük az atlétikát. Ellenőriztünk mindent. A többség elkezdte a Magyarország városait (annak a megoldása eleve adott, önállóan ellenőrizhető).

[ide pótolni kell még egy wpf-es megoldást]

1.feladat:
CREATE DATABASE `atletika_eb` DEFAULT CHARACTER SET utf8 COLLATE utf8_hungarian_ci;

3.feladat:
UPDATE eredmenyek
SET helyezes=3
WHERE versID=6 AND helyID=10;

4.feladat:
SELECT nev, neme
FROM versenyzo
ORDER BY nev;

5.feladat:
SELECT helyszin.orszag AS "Ország", helyszin.varos AS "Helyszín", helyszin.ev AS "Év"
FROM helyszin
WHERE helyszin.orszag LIKE "%ország%"
ORDER BY helyszin.ev DESC;

6.feladat:
SELECT versenyzo.nev AS "Többszörös magyar érmes"
FROM versenyzo, eredmenyek
WHERE versenyzo.versID = eredmenyek.versID
AND eredmenyek.helyezes BETWEEN 1 AND 3
GROUP BY versenyzo.versID
HAVING COUNT(versenyzo.versID) > 1;

-- vagy
SELECT versenyzo.nev AS "Többszörös magyar érmes"
FROM versenyzo
INNER JOIN eredmenyek
ON versenyzo.versID = eredmenyek.versID
WHERE eredmenyek.helyezes BETWEEN 1 AND 3
GROUP BY versenyzo.versID
HAVING COUNT(versenyzo.versID) > 1;

7.feladat:
SELECT helyszin.varos AS "Helyszín", COUNT(eredmenyek.versID) AS "Létszám (fő)"
FROM helyszin, eredmenyek
WHERE helyszin.helyID = eredmenyek.helyID
AND eredmenyek.helyezes IS NOT NULL
GROUP BY helyszin.varos
ORDER BY COUNT(eredmenyek.versID) DESC;

-- vagy

SELECT helyszin.varos AS "Helyszín", COUNT(eredmenyek.versID) AS "Létszám (fő)"
FROM helyszin
INNER JOIN eredmenyek
ON helyszin.helyID = eredmenyek.helyID
WHERE eredmenyek.helyezes IS NOT NULL
GROUP BY helyszin.varos
ORDER BY COUNT(eredmenyek.versID) DESC;

Ez egy Windows formos megoldás:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace atletikaGUI
{
    public partial class Form1 : Form
    {
        static List<Versenyszam> adatok = new List<Versenyszam>();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader("ferfiAtletika2017.txt", Encoding.Default);
            while (!sr.EndOfStream)
            {
                string sor = sr.ReadLine();
                Versenyszam vszam = new Versenyszam(sor);
                adatok.Add(vszam);
                lBoxVszam.Items.Add(vszam.vszNev);
            }
            sr.Close();
        }

        private void btArany_Click(object sender, EventArgs e)
        {
            foreach (var adat in adatok)
            {
                if (!lBoxNemzet.Items.Contains(adat.nemzet))
                {
                    lBoxNemzet.Items.Add(adat.nemzet);
                }
            }
            btArany.Visible = false;
        }

        private void btKeres_Click(object sender, EventArgs e)
        {
            lbEr.Text = "";  //ez nem volt elvárás
            lbNev.Text = ""; //ez nem volt elvárás
            lbNemz.Text = ""; //ez nem volt elvárás
            int vszam = lBoxVszam.SelectedIndex;
            int erem = Convert.ToInt32(nmErem.Value);
            if (vszam < 0)
            {
                MessageBox.Show("Nem választott ki versenyszámot!", "Hiba");
            }
            else if ((erem < 1) || (erem > 3))
            {
                MessageBox.Show("Csak érmes helyezéseket tartalmaz a statisztika!", "Hiba");
            }
            else
            {
                int i = 0;
                while (adatok[i].vszNev != Convert.ToString(lBoxVszam.SelectedItem) || adatok[i].helyezes != erem)
                {
                    i++;
                }
                lbEr.Text = adatok[i].eredmeny;
                lbNev.Text = adatok[i].versenyzo;
                lbNemz.Text = adatok[i].nemzet;
            }
        }
    }
}


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

namespace atletikaVB
{
    class Versenyszam
    {
        public string vszNev  { get; set; } // A versenyszám neve
        public bool ferfi { get; set; } //  true-férfi; false-női;
        public string nemzet { get; set; } // Mely nemzet színeiben indult a dobogós
        public string versenyzo { get; set; } // A versenyző neve                        
        public string eredmeny { get; set; } // elért eredmény
        public string csucs { get; set; } // ért-e el valamilyen csúcsot az adott versenyző
        public byte helyezes { get; set; } // 1-arany; 2-ezüst; 3-bronz

        public Versenyszam(string sor)
        {
            string[] seged = sor.Split(';');
            vszNev = seged[0];
            if (seged[1] == "F") ferfi = true;
            else ferfi = false;                
            nemzet = seged[2];
            versenyzo = seged[3];
            eredmeny = seged[4];
            csucs = seged[5];
            helyezes = Convert.ToByte(seged[6]);
        }

    }
}


using System;
using System.Collections.Generic;

using System.Threading.Tasks;
using System.IO;
using System.Text;

namespace atletikaVB
{
    class Program
    {          
        static List<Versenyszam> adatok = new List<Versenyszam>();

        static void Befejezes()
        {
            //Console.WriteLine("\nENTER-re várunk");
            Console.ReadLine();
        }

        static void Beolvas() //2. feladat
        {
            StreamReader sr = new StreamReader("atletikaVB2017.csv", Encoding.Default);
            while (!sr.EndOfStream)
            {
                string sor = sr.ReadLine();
                Versenyszam vszam = new Versenyszam(sor);
                adatok.Add(vszam);
                //Console.WriteLine(vszam.versenyzo); - próba jó-e a beolvasás
            }
            sr.Close();
        }

        static void USA_ermek() //4. feladat
        {
            Console.WriteLine("\n4. feladat:");
            int arany=0, db = 0;
            foreach (var adat in adatok)
            {
                if (adat.nemzet == "Egyesült Államok")
                {
                    if (adat.helyezes == 1)
                    {
                        arany++;
                    }
                    db++;
                }
            }
            double szazalek = arany * 100 / Convert.ToDouble(db);
            Console.WriteLine($"\tAz amerikai érmek {Math.Round(szazalek,1)}%-a arany.");
        }

        static void OrszagDobogosok() //5-6. feladat
        {
            Console.WriteLine("\n5. feladat:");
            Console.Write("\tAdja meg a nemzet nevét: ");
            string nemzet = Console.ReadLine();
            Console.Write("\tAdja meg a helyezést (1-3 egész szám): ");
            byte hely = Convert.ToByte(Console.ReadLine());
            string erem = "";
            switch (hely)
            {
                case 1: erem = "arany";
                    break;
                case 2: erem = "ezüst";
                    break;
                case 3: erem = "bronz";
                    break;
            }

            Console.WriteLine("\n6. feladat:");
            int i = 0;
            while (i < adatok.Count && !(adatok[i].nemzet == nemzet && adatok[i].helyezes == hely))
            {
                i++;
            }
            if (i < adatok.Count)
            {
                Console.WriteLine($"\t{nemzet} egyik {erem}érmet szerző versenyzője:\n\t{adatok[i].versenyzo} {adatok[i].vszNev} versenyszámban.");
            }
            else
            {
                Console.WriteLine($"\t{nemzet} nem szerzett {erem}érmet a VB-n.");
            }        
        }

        static void Statisztika() //7. feladat
        {

            Console.WriteLine("\n7. feladat:\n\tnői csúcsok a fájlba írva.");
            StreamWriter sw = new StreamWriter("noi_csucsok.txt");
            sw.WriteLine("név\tversenyszám\tnemzet");
            for (int i = 0; i < adatok.Count; i++)
            {
                if (!adatok[i].ferfi && adatok[i].csucs.Length != 0)
                {
                    sw.WriteLine($"{adatok[i].versenyzo}\t{adatok[i].vszNev}\t{adatok[i].nemzet}");
                }
            }
            sw.Close();
        }

        static void Main(string[] args)
        {
            Beolvas();
              //3. feladat
            Console.WriteLine("3.feladat:");
            Console.WriteLine($"\tA 2017-es londoni VB-n összesen {adatok.Count} érmet osztottak ki a {(adatok.Count-1)/3} versenyszámban.");
            USA_ermek();
            OrszagDobogosok();
            Statisztika();

            Befejezes();
        }
    }
}



2022.03.25. Plusz gyakorló feladat (opcionális) - Tanösvény

2022.03.25. IndexOf példaprogram

 using System;

using System.Collections.Generic;

using System.Linq;

 

namespace maxEsIndexof

{

    class Program

    {

        static void Main(string[] args)

        {

            Random rnd = new Random();

            List<int> l = new List<int>();

            for (int i = 0; i < 10; i++)

            {

                l.Add(rnd.Next(1,100));              

            }

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

            {

                Console.WriteLine($"{i}{l[i]}");

            }

 

            Console.WriteLine();

            Console.WriteLine(l.Max());

            Console.WriteLine(l.IndexOf(l.Max()));         

 

            Console.ReadLine();

        }

    }

} 

2022.03.25. Distinct - példaprogram

 using System;

using System.Collections.Generic;

using System.Linq;

 

namespace _distinctPelda

{

    class Program

    {

        static void Main(string[] args)

        {

            Random rnd = new Random();

            List<int> l = new List<int>();

            for (int i = 0; i < 10; i++)

            {

                l.Add(rnd.Next(1,10));              

            }

            l.Sort();

            foreach (var item in l)

            {

                Console.WriteLine(item);

            }

            Console.WriteLine();

            List<int> l1 = l.Distinct().ToList();

            foreach (var item in l1)

            {

                Console.WriteLine(item);

            }

 

            Console.ReadLine();

        }

    }

}