using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Threading.Tasks; namespace Ultrabalatonkonstruktor { class Futó { public string Név; public int Rajtszám; public string Kategória; public string Időeredmény; public int Százalék; public Futó(string sor) { string[] daraboló = sor.Split(';'); Név = daraboló[0]; Rajtszám = int.Parse(daraboló[1]); Kategória = daraboló[2]; Időeredmény = daraboló[3]; Százalék = int.Parse(daraboló[4]); } public double IdőÓrában() { string[] daraboló = Időeredmény.Split(':'); double Óra = double.Parse(daraboló[0]); double Perc = double.Parse(daraboló[1]); double Másodperc = double.Parse(daraboló[2]); return (Óra + Perc / 60) + (Másodperc / 3600); } } class Ultrabalaton_YourName { static void Main(string[] args) { List futók = new List(); foreach (var sor in File.ReadAllLines("ub2017egyeni.txt").Skip(1)) { futók.Add(new Futó(sor)); } Console.WriteLine($"3. feladat: Egyéni indulók: {futók.Count} fő"); int célbaÉrtNők = 0; foreach (var Versenyző in futók) { if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100) célbaÉrtNők++; } Console.WriteLine($"4. feladat: Célba érkező női sportolók: {célbaÉrtNők} fő"); Console.Write($"5. feladat: Kérem a sportoló nevét: "); string beolvasottSor = Console.ReadLine(); bool találat = false; bool célbaÉrt = false; foreach (var Versenyző in futók) { if (Versenyző.Név == beolvasottSor) { találat = true; if (Versenyző.Százalék == 100) célbaÉrt = true; break; } } Console.Write($"\tIndult egyéniben a sportoló? {(találat ? "Igen" : "Nem")}"); if (találat) Console.Write($"\n\tTeljesítette a teljes távot? {(célbaÉrt ? "Igen" : "Nem")}"); double célbaÉrtFérfiak = 0; double összesIdő = 0; foreach (var Versenyző in futók) { if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100) { célbaÉrtFérfiak++; összesIdő += Versenyző.IdőÓrában(); } } Console.WriteLine($"\n7. feladat: Átlagos idő: {összesIdő / célbaÉrtFérfiak} óra"); double győztesIdőFérfi = 999; double győztesIdőNői = 999; Futó férfiGyőztes = null; Futó nőiGyőztes = null; foreach (var Versenyző in futók) { if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőNői) { győztesIdőNői = Versenyző.IdőÓrában(); nőiGyőztes = Versenyző; } if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőFérfi) { győztesIdőFérfi = Versenyző.IdőÓrában(); férfiGyőztes = Versenyző; } } Console.WriteLine("8. feladat: Verseny győztesei"); Console.WriteLine($"\tNők: {nőiGyőztes.Név} ({nőiGyőztes.Rajtszám}.) - {nőiGyőztes.Időeredmény}"); Console.WriteLine($"\tFérfiak: {férfiGyőztes.Név} ({férfiGyőztes.Rajtszám}.) - {férfiGyőztes.Időeredmény}"); Console.ReadKey(); } } }