using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Runtime.InteropServices; namespace ConsoleApp1 { public class Jatekos { public string nev; public string kategoria; public string egyesulet; public int[] pontok = { }; public int osszpont; public Jatekos(string Nev, string Kategoria, string Egyesulet, int[] Pontok) { nev = Nev; kategoria = Kategoria; egyesulet = Egyesulet; pontok = Pontok; osszpont = Osszpontszam(Pontok); } public static int Osszpontszam(int[] p) { int nulldb = 0; foreach (var item in p) { if (item == 0) { nulldb++; } } Array.Sort(p); int x = p.Sum(); int legkisebb = p.Min(); int legkisebb2 = p[1]; if (nulldb == 0) { x -= legkisebb; x -= legkisebb2; x += 20; return x; } else if (nulldb == 1) { x -= legkisebb2; x += 10; return x; } else { return x; } } } internal class Program { static void Main(string[] args) { FileStream fs = new FileStream("fob2016.txt", FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); List adatok = new List(); string sor = sr.ReadLine(); while (sor != null) { string[] soradat = sor.Split(';'); int[] temppont = { }; for (int i = 3; i < soradat.Length; i++) { int pont = int.Parse(soradat[i]); temppont = temppont.Append(pont).ToArray(); } Jatekos jatekos = new Jatekos(soradat[0], soradat[1], soradat[2], temppont); adatok.Add(jatekos); sor = sr.ReadLine(); } double db = 0; double ndb = 0; foreach (var item in adatok) { db++; if (item.kategoria == "Noi") { ndb++; } } Console.WriteLine($"3. feladat: Versenyzők száma: {db}"); Console.WriteLine($"4. feladat: A női versenyzők aránya: {Math.Round((ndb / db) * 100, 2)}%"); int bajnok = 0; for (int i = 0; i < adatok.Count; i++) { if (adatok[i].osszpont > adatok[bajnok].osszpont) { bajnok = i; } } Console.WriteLine($"6. feladat: A bajnok női versenyző"); Console.WriteLine($"\tNév: {adatok[bajnok].nev}"); Console.WriteLine($"\tEgyesület: {adatok[bajnok].egyesulet}"); Console.WriteLine($"\tÖsszpont: {adatok[bajnok].osszpont}"); FileStream fileStream = new FileStream("osszpontFF.txt", FileMode.Create, FileAccess.Write); ; StreamWriter streamWriter = new StreamWriter(fileStream); foreach (var jatekos in adatok) { if (jatekos.kategoria == "Felnott ferfi") { streamWriter.WriteLine($"{jatekos.nev};{jatekos.osszpont}"); } } streamWriter.Close(); fileStream.Close(); List egy = new List(); List jatekosok = new List(); foreach (var item in adatok) { if (egy.Contains(item.egyesulet)) { continue; } else if (item.egyesulet != "n.a.") { egy.Add(item.egyesulet); } } foreach (var egyesulet in egy) { int cntr = 0; foreach (var item in adatok) { if (egyesulet == item.egyesulet) { cntr++; } } jatekosok.Add(cntr); } List removeindex = new List(); for (int i = 0; i < egy.Count; i++) { if (jatekosok[i] <= 2) { removeindex.Add(i); } } Console.WriteLine($"8. feladat: Egyesület statisztika"); removeindex.Reverse(); for (int i = 0; i < removeindex.Count; i++) { egy.RemoveAt(removeindex[i]); jatekosok.RemoveAt(removeindex[i]); } for (int i = 0; i < egy.Count; i++) { Console.WriteLine($"\t{egy[i]} - {jatekosok[i]} fő"); } sr.Close(); fs.Close(); } } }