Advertisement
Guest User

hangya

a guest
Jan 25th, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.29 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace hangya
  9. {
  10.     class Program
  11.     {
  12.         struct hangya
  13.         {
  14.             public string nev;
  15.             public double hossz;
  16.             public double melyseg;
  17.             public double magassag;
  18.             public string helyseg;
  19.             public string volte;
  20.         }
  21.  
  22.         static List<hangya> lista = new List<hangya>();
  23.  
  24.         //6.feladat
  25.         static private bool RegiesNev(hangya b)
  26.         {
  27.             return b.nev.Contains("boly");
  28.         }
  29.  
  30.         static void Main(string[] args)
  31.         {
  32.             string[] sorok = File.ReadAllLines("hangyabolyok.csv", Encoding.Default);
  33.             int sorsz = int.Parse(sorok[0]);
  34.  
  35.             foreach (string sor in sorok.Skip(1))
  36.             {
  37.                 string[] d = sor.Split(';');
  38.                 hangya sv = new hangya();
  39.                 sv.nev = d[0];
  40.                 sv.hossz = double.Parse(d[1]);
  41.                 sv.melyseg = double.Parse(d[2]);
  42.                 sv.magassag = double.Parse(d[3]);
  43.                 sv.helyseg = d[4];
  44.                 sv.volte = d[5];
  45.  
  46.                 lista.Add(sv);
  47.             }
  48.  
  49.             Console.WriteLine("3. feladat: Z hangya bázisához közeli barlangok adatai:\n\tNév: {0}\n\tHossz: {1}m\n\tMélység: {2} m\n\tMagasság: {3} m\n\tTelepülés: {4}", lista[sorsz - 2].nev, lista[sorsz - 2].hossz, lista[sorsz - 2].melyseg, lista[sorsz - 2].magassag, lista[sorsz - 2].helyseg, lista[sorsz - 2].volte);
  50.  
  51.             Console.WriteLine("4. feladat: A hangyás barlangok teljes hossza: {0} km", (lista.Where(x => x.volte == "1").Sum(x => x.hossz) / 1000).ToString("0.00"));
  52.  
  53.             Console.WriteLine("5. feladat: A legmélyebb barlang adatai:");
  54.             hangya max = lista.First(x => x.melyseg == lista.Max(y => y.melyseg));
  55.             Console.WriteLine("\tNév: {0}\n\tMélység: {1} m\n\tBarlang: {2}", max.nev, max.melyseg, max.helyseg);
  56.  
  57.             Console.WriteLine("7. feladat: Régies nevű barlangok száma: {0} db", lista.Count(x => RegiesNev(x)));
  58.             if (lista.Count(x => RegiesNev(x)) == 0)
  59.             {
  60.                 Console.WriteLine("\tNincs hanygás nevű barlang!");
  61.             }
  62.             else
  63.             {
  64.                 lista.Where(x => RegiesNev(x)).ToList().ForEach(x => Console.WriteLine("\t" + x.nev));
  65.             }
  66.  
  67.             Console.WriteLine("8. feladat:\n{0}on található barlangok átlagos hossza: {1} m", lista[sorsz - 2].helyseg, (lista.Where(x => x.helyseg == lista[sorsz - 2].helyseg).Average(x => x.hossz)).ToString("0"));
  68.  
  69.             //9.feladat
  70.             StreamWriter w = new StreamWriter("modositott.csv", false, Encoding.Default);
  71.             w.WriteLine(sorsz);
  72.  
  73.             lista.ForEach(x => w.WriteLine("{0};{1};{2};{3};{4}{5}", x.nev, x.hossz, x.melyseg, x.magassag, x.helyseg, (x.volte == "i" ? ";már jártunk itt" : "")));
  74.  
  75.             //10.feladat
  76.             Console.WriteLine("10. feladat:");
  77.  
  78.             lista.Where(x => x.volte == "0").OrderBy(x => x.nev).ToList().ForEach(x => Console.WriteLine(x.nev + " - " + x.hossz + " - " + x.melyseg + " - " + x.magassag + " - " + x.helyseg));
  79.  
  80.             Console.ReadKey();
  81.  
  82.         }
  83.     }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement