using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApp1 { public class Egyed { public string versenyzo, kategoria, versenyido; public int rajtszam, tavszazalek; public double idooraban; public Egyed(string Versenyzo, int Rajtszam, string Kategoria, string Versenyido, int Tavszazalek) { versenyido = Versenyido; versenyzo = Versenyzo; kategoria = Kategoria; rajtszam = Rajtszam; tavszazalek = Tavszazalek; idooraban = IdoOraban(); } public double IdoOraban() { string[] ido = versenyido.Split(':'); int[] idoint = { Convert.ToInt32(ido[0]), Convert.ToInt32(ido[1]), Convert.ToInt32(ido[2]) }; return idoint[0] + idoint[1] / 60 + idoint[2] / 3600; } } class Program { private static int Feladat3(List adatok) { int cntr = 0; foreach (var item in adatok) { cntr++; } return cntr; } private static int Feladat4(List adatok) { int counter = 0; foreach (var item in adatok) { if (item.kategoria != "Ferfi" && item.tavszazalek == 100) { counter++; } } return counter; } private static void Feladat5(List adatok, string nev) { bool tartalmaz = false; int ind = -1; for (int i = 0; i < adatok.Count; i++) { if (adatok[i].versenyzo == nev) { tartalmaz = true; ind = i; break; } } if (tartalmaz) { Console.WriteLine($"\tIndult egyéniben a sportoló? Igen"); if (adatok[ind].tavszazalek == 100) { Console.WriteLine("\tTeljesítette a teljes távot? Igen"); } else { Console.WriteLine("\tTeljesítette a teljes távot? Nem"); } } else { Console.WriteLine($"\tIndult egyéniben a sportoló? Nem"); } } private static double Feladat7(List adatok) { int cntr = 0; double osszido = 0; foreach (var item in adatok) { if (item.tavszazalek == 100 && item.kategoria == "Ferfi") { cntr++; osszido += item.idooraban; } } return osszido / cntr; } private static string Feladat8F(List adatok) { int ind = 0; int cntr = 0; foreach (var item in adatok) { if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Ferfi") { ind = cntr; } cntr++; } return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}"; } private static string Feladat8N(List adatok) { int ind = 0; int cntr = 0; foreach (var item in adatok) { if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Noi") { ind = cntr; } cntr++; } return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}"; } static void Main(string[] args) { List adatok = new List(); FileStream fileStream = new FileStream("ub2017egyeni.txt", FileMode.Open, FileAccess.Read); StreamReader streamReader = new StreamReader(fileStream); string sor = streamReader.ReadLine(); sor = streamReader.ReadLine(); while (sor != null) { string[] arr = sor.Split(';'); Egyed egyed = new Egyed(arr[0], Convert.ToInt32(arr[1]), arr[2], arr[3], Convert.ToInt32(arr[4])); adatok.Add(egyed); sor = streamReader.ReadLine(); } streamReader.Close(); fileStream.Close(); Console.ForegroundColor = ConsoleColor.Magenta; Console.BackgroundColor = ConsoleColor.Blue; Console.WriteLine($"3. feladat: Egyéni indulók: {Feladat3(adatok)} fő"); Console.WriteLine($"4. feladat: Célba érkező női sportolók: {Feladat4(adatok)} fő"); Console.WriteLine($"5. feladat: Kérem a sporotló nevét: "); string sportolo = Console.ReadLine(); Feladat5(adatok, sportolo); Console.WriteLine($"7. feladat: Átlagos idő: {Feladat7(adatok)} óra"); Console.WriteLine($"8. feladat: Verseny győztesei:"); Console.WriteLine($"\tNők: {Feladat8N(adatok)}"); Console.WriteLine($"\tFérfiak: {Feladat8F(adatok)}"); Console.ResetColor(); } } }