using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Security.Permissions; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { DataRead(); int num = Feladat3(); Console.WriteLine(num); int nepsuruseg = Feladat4(); Console.WriteLine(nepsuruseg); int kinatobbmintindiaaaaa = Feladat5(); Console.WriteLine(kinatobbmintindiaaaaa); string harmadik = Feladat6(); Console.WriteLine(harmadik); Feladat7(); Console.ReadLine(); } public static void DataRead() { string path = "adatok-utf8.txt"; FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read); StreamReader streamReader = new StreamReader(fileStream); string line = streamReader.ReadLine(); line = streamReader.ReadLine(); while (line != null) { string[] datas = line.Split(';'); string orszagnev = datas[0]; int terulet = Convert.ToInt32(datas[1]); string nepesseg = datas[2]; int Nepesseg; bool IsNumber = Int32.TryParse(nepesseg, out Nepesseg); if (!IsNumber) { string asd = nepesseg.Replace("g", "0000"); Nepesseg = Convert.ToInt32(asd); } int fovarosNepesseg = Convert.ToInt32(datas[4]); Orszag orszag = new Orszag(orszagnev, terulet, Nepesseg, datas[3], fovarosNepesseg); Data.orszagok.Add(orszag); line = streamReader.ReadLine(); } streamReader.Close(); fileStream.Close(); } public static int Feladat3() { return Data.orszagok.Count; } public static int FindCountry(string country) { int i = 0; while (Data.orszagok[i].Orszagnev != country && i <= Data.orszagok.Count) { i++; } return i; } public static int Feladat4() { int a = FindCountry("Kína"); return Data.orszagok[a].Nepesseg / Data.orszagok[a].Terulet; } public static int Feladat5() { int india = FindCountry("India"); int kina = FindCountry("Kína"); return Data.orszagok[kina].Nepesseg - Data.orszagok[india].Nepesseg; } public static string Feladat6() { List asd = Data.orszagok.OrderBy(x => x.Nepesseg).ToList(); return asd[asd.Count - 3].Orszagnev; } public static void Feladat7() { foreach (var item in Data.orszagok) { if (item.FovarosiKoncentracio) { Console.WriteLine($"{item.Orszagnev}, {item.Fovaros}"); } } } } public static class Data { public static List orszagok = new List(); } public class Orszag { public string Orszagnev { get; private set; } public int Terulet { get; private set; } public int Nepesseg { get; private set; } public string Fovaros { get; private set; } public int FovarosNepesseg { get; private set; } public bool FovarosiKoncentracio { get; private set; } public Orszag(string orszagnev, int terulet, int nepesseg, string fovaros, int fovarosNepesseg) { Orszagnev = orszagnev; Terulet = terulet; Nepesseg = nepesseg; Fovaros = fovaros; FovarosNepesseg = fovarosNepesseg * 1000; FovarosiKoncentracio = KoncentraltFovaros(FovarosNepesseg, Nepesseg); } public bool KoncentraltFovaros(int fovarosNepesseg, int nepesseg) { if (fovarosNepesseg >= nepesseg * 0.3) { return true; } else { return false; } } } }