using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Globalization; namespace Torna_Refaktorálás { class Versenyző { public int Rajtszám; public string Név; public string OrszágKód; public string Kontinens; public double Talaj; public double Lólengés; public double Gyűrű; public double Nyújtó; public double Korlát; public double Ugrás; public Versenyző(string sor) { string[] darabolo = sor.Split(';'); Rajtszám = int.Parse(darabolo[0]); Név = darabolo[1]; OrszágKód = darabolo[2]; Kontinens = darabolo[3]; Talaj = double.Parse(darabolo[4]); Lólengés = double.Parse(darabolo[5]); Gyűrű = double.Parse(darabolo[6]); Nyújtó = double.Parse(darabolo[7]); Korlát = double.Parse(darabolo[8]); Ugrás = double.Parse(darabolo[9]); } } class Torna_YourName { static void Main(string[] args) { List versenyzők = new List(); foreach (var sor in File.ReadAllLines("torna.csv").Skip(1)) { versenyzők.Add(new Versenyző(sor)); } Console.WriteLine($"2. feladat\nÖsszesen {versenyzők.Count} versenyző indult a versenyen."); double korlátArany = 0; Versenyző aranyérmesKorlát = null; foreach (var versenyző in versenyzők) { if (versenyző.Korlát > korlátArany) { korlátArany = versenyző.Korlát; aranyérmesKorlát = versenyző; } } Console.WriteLine($"\n3. feladat\nKorláton {aranyérmesKorlát.Név} szerezte meg az aranyérmet."); Console.Write($"\n4. feladat\nKérem a versenyző rajtszámát: "); int bekértSzám = int.Parse(Console.ReadLine()); Versenyző találtVersenyző = null; bool találatBekérés = false; foreach (var versenyző in versenyzők) { if (versenyző.Rajtszám == bekértSzám) { találatBekérés = true; találtVersenyző = versenyző; } } Console.WriteLine((találatBekérés ? "A " + bekértSzám + " rajtszámú versenyző gyűrűn elért eredménye: " + találtVersenyző.Gyűrű + " pont." : "Nincs ilyen versenyző!")); Console.WriteLine("\n5. feladat\nLólengésben nem jutottak döntőbe"); foreach (var versenyző in versenyzők) { if (versenyző.Lólengés < 14.5) { Console.WriteLine($"\t{versenyző.Név}"); } } Console.Write("\n6. feladat\nFöldrészek, amelyekről versenyzők indultak: "); List Földrészek = new List(); foreach (var versenyző in versenyzők) { if (!Földrészek.Contains(versenyző.Kontinens)) { Földrészek.Add(versenyző.Kontinens); } } Földrészek.Sort(); foreach (var földrész in Földrészek) Console.Write($"{földrész} "); List országKódok = new List(); int[] országonkéntVersenyző = new int[versenyzők.Count]; foreach(var versenyző in versenyzők) { if (!országKódok.Contains(versenyző.OrszágKód)) { országKódok.Add(versenyző.OrszágKód); } } foreach (var versenyző in versenyzők) { for (int i = 0; i < országKódok.Count; i++) { if (országKódok[i] == versenyző.OrszágKód) { országonkéntVersenyző[i]++; } } } Console.WriteLine("\n\n7. feladat"); int iterátor = 0; foreach (var országkód in országKódok) { Console.WriteLine($"\t{országkód} {országonkéntVersenyző[iterátor]} fő"); iterátor++; //biztos van rá jobb megoldás, én ezt használom most } FileStream fáljKészítő = new FileStream("francia.txt", FileMode.Create); StreamWriter író = new StreamWriter(fáljKészítő); író.WriteLine("Rajtszám;Név;Összpontszám"); //nem vagyok benne biztos, hogy ez is kell ide, de én ideraktam azért foreach (var versenyző in versenyzők) { if (versenyző.OrszágKód == "FRA") { író.WriteLine($"{versenyző.Rajtszám};{versenyző.Név};{versenyző.Talaj + versenyző.Lólengés + versenyző.Gyűrű + versenyző.Nyújtó + versenyző.Korlát + versenyző.Ugrás}"); } } író.Close(); fáljKészítő.Close(); Console.ReadKey(); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Globalization; namespace Torna_Refaktorálás { class Versenyző { public int Rajtszám; public string Név; public string OrszágKód; public string Kontinens; public double Talaj; public double Lólengés; public double Gyűrű; public double Nyújtó; public double Korlát; public double Ugrás; public Versenyző(string sor) { string[] darabolo = sor.Split(';'); Rajtszám = int.Parse(darabolo[0]); Név = darabolo[1]; OrszágKód = darabolo[2]; Kontinens = darabolo[3]; Talaj = double.Parse(darabolo[4]); Lólengés = double.Parse(darabolo[5]); Gyűrű = double.Parse(darabolo[6]); Nyújtó = double.Parse(darabolo[7]); Korlát = double.Parse(darabolo[8]); Ugrás = double.Parse(darabolo[9]); } } class Torna_YourName { static void Main(string[] args) { List versenyzők = new List(); foreach (var sor in File.ReadAllLines("torna.csv").Skip(1)) { versenyzők.Add(new Versenyző(sor)); } Console.WriteLine($"2. feladat\nÖsszesen {versenyzők.Count} versenyző indult a versenyen."); double korlátArany = 0; Versenyző aranyérmesKorlát = null; foreach (var versenyző in versenyzők) { if (versenyző.Korlát > korlátArany) { korlátArany = versenyző.Korlát; aranyérmesKorlát = versenyző; } } Console.WriteLine($"\n3. feladat\nKorláton {aranyérmesKorlát.Név} szerezte meg az aranyérmet."); Console.Write($"\n4. feladat\nKérem a versenyző rajtszámát: "); int bekértSzám = int.Parse(Console.ReadLine()); Versenyző találtVersenyző = null; bool találatBekérés = false; foreach (var versenyző in versenyzők) { if (versenyző.Rajtszám == bekértSzám) { találatBekérés = true; találtVersenyző = versenyző; } } Console.WriteLine((találatBekérés ? "A " + bekértSzám + " rajtszámú versenyző gyűrűn elért eredménye: " + találtVersenyző.Gyűrű + " pont." : "Nincs ilyen versenyző!")); Console.WriteLine("\n5. feladat\nLólengésben nem jutottak döntőbe"); foreach (var versenyző in versenyzők) { if (versenyző.Lólengés < 14.5) { Console.WriteLine($"\t{versenyző.Név}"); } } Console.Write("\n6. feladat\nFöldrészek, amelyekről versenyzők indultak: "); List Földrészek = new List(); foreach (var versenyző in versenyzők) { if (!Földrészek.Contains(versenyző.Kontinens)) { Földrészek.Add(versenyző.Kontinens); } } Földrészek.Sort(); foreach (var földrész in Földrészek) Console.Write($"{földrész} "); List országKódok = new List(); int[] országonkéntVersenyző = new int[versenyzők.Count]; foreach(var versenyző in versenyzők) { if (!országKódok.Contains(versenyző.OrszágKód)) { országKódok.Add(versenyző.OrszágKód); } } foreach (var versenyző in versenyzők) { for (int i = 0; i < országKódok.Count; i++) { if (országKódok[i] == versenyző.OrszágKód) { országonkéntVersenyző[i]++; } } } Console.WriteLine("\n\n7. feladat"); int iterátor = 0; foreach (var országkód in országKódok) { Console.WriteLine($"\t{országkód} {országonkéntVersenyző[iterátor]} fő"); iterátor++; //biztos van rá jobb megoldás, én ezt használom most } FileStream fáljKészítő = new FileStream("francia.txt", FileMode.Create); StreamWriter író = new StreamWriter(fáljKészítő); író.WriteLine("Rajtszám;Név;Összpontszám"); //nem vagyok benne biztos, hogy ez is kell ide, de én ideraktam azért foreach (var versenyző in versenyzők) { if (versenyző.OrszágKód == "FRA") { író.WriteLine($"{versenyző.Rajtszám};{versenyző.Név};{versenyző.Talaj + versenyző.Lólengés + versenyző.Gyűrű + versenyző.Nyújtó + versenyző.Korlát + versenyző.Ugrás}"); } } író.Close(); fáljKészítő.Close(); Console.ReadKey(); } } }