namespace Gólyatábor { internal class Megoldás { private Dictionary> Ismerősök; private List Párok; public int MonogramokSzáma => Ismerősök.Count; public int AdatsorokSzáma => Párok.Count; public string ElsőPár => Párok[0].Replace(';', ' '); public string UtolsóPár => Párok[Párok.Count - 1].Replace(';', ' '); public string LegtöbbIsmerős => Ismerősök.OrderByDescending(x => x.Value.Count).First().Key; public Megoldás(string forrás) { Ismerősök = new Dictionary>(); Párok = new List(); foreach (var sor in File.ReadAllLines(forrás).Skip(1)) { Párok.Add(sor); } foreach (var sor in Párok) { string p1 = sor.Split(';')[0]; string p2 = sor.Split(';')[1]; if (!Ismerősök.ContainsKey(p1)) Ismerősök.Add(p1, new HashSet()); Ismerősök[p1].Add(p2); if (!Ismerősök.ContainsKey(p2)) Ismerősök.Add(p2, new HashSet()); Ismerősök[p2].Add(p1); } } public string TanulóIsmerősei(string monogram) { if (Ismerősök.ContainsKey(monogram)) return string.Join(", ", Ismerősök[monogram]); else return "A megadott monogramot nem találom!"; } } internal class Gólyatábor { static void Main() { // 2. feladat: Megoldás m = new Megoldás("ismerősök.txt"); Console.WriteLine($"3. feladat: Rögzítésre került adatsorok száma: {m.AdatsorokSzáma}"); Console.WriteLine($"4. feladat: Az első és az utolsó adatsor"); Console.WriteLine($"\tElső: {m.ElsőPár}"); Console.WriteLine($"\tUtolsó: {m.UtolsóPár}"); Console.WriteLine($"5. feladat: Egyedi monogramok száma: {m.MonogramokSzáma}"); Console.Write("6. feladat: Kérem egy tanuló monogramját: "); string monogram = Console.ReadLine()!.ToUpper(); Console.WriteLine($"7. feladat: A megadott tanuló ismerősei: {m.TanulóIsmerősei(monogram)}"); Console.WriteLine($"8. feladat: A legtöbb új ismerőse:\n\t{m.LegtöbbIsmerős}-nak/nek lett:\n\t{m.TanulóIsmerősei(m.LegtöbbIsmerős)}"); } } }