Advertisement
pushrbx

Eloadas megold

Feb 11th, 2013
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.82 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. using System.Globalization;
  8.  
  9. namespace Eloadas
  10. {
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.  
  16.             Eloadas asd = new Eloadas();
  17.             string path = @"D:\eloadas.txt";
  18.             List<Eloadas> elsonap = new List<Eloadas>();
  19.             List<Eloadas> masodiknap = new List<Eloadas>();
  20.             List<Eloadas> harmadiknap = new List<Eloadas>();
  21.             List<Eloadas> osszes = new List<Eloadas>();
  22.             if (File.Exists(path))
  23.             {
  24.                 using (StreamReader reader = new StreamReader(path))
  25.                 {
  26.                     while (!reader.EndOfStream)
  27.                     {
  28.  
  29.                         string line = reader.ReadLine();
  30.                         string[] data = line.Split(new char[] { ' ' });
  31.                         osszes.Add(new Eloadas()
  32.                         {
  33.                             Nap = int.Parse(data[0]),
  34.                             Sorszam = int.Parse(data[1]),
  35.                             Ido = int.Parse(data[2]),
  36.                             Eloado = data[3] + " " + data[4]
  37.                         });
  38.                         if (line.StartsWith("1"))
  39.                         {
  40.                             elsonap.Add(new Eloadas()
  41.                             {
  42.                                 Nap = int.Parse(data[0]),
  43.                                 Sorszam = int.Parse(data[1]),
  44.                                 Ido = int.Parse(data[2]),
  45.                                 Eloado = data[3] + " " + data[4]
  46.                             });
  47.  
  48.  
  49.                         }
  50.                         if (line.StartsWith("2"))
  51.                         {
  52.                             masodiknap.Add(new Eloadas()
  53.                             {
  54.  
  55.                                 Nap = int.Parse(data[0]),
  56.                                 Sorszam = int.Parse(data[1]),
  57.                                 Ido = int.Parse(data[2]),
  58.                                 Eloado = data[3] + " " + data[4]
  59.                             });
  60.                         }
  61.                         if (line.StartsWith("3"))
  62.                         {
  63.                             harmadiknap.Add(new Eloadas()
  64.                             {
  65.  
  66.                                 Nap = int.Parse(data[0]),
  67.                                 Sorszam = int.Parse(data[1]),
  68.                                 Ido = int.Parse(data[2]),
  69.                                 Eloado = data[3] + " " + data[4]
  70.  
  71.                             });
  72.                         }
  73.                     }
  74.                 }
  75.                 var temp = (from x in elsonap orderby x.Sorszam select x);
  76.  
  77.                 Console.WriteLine("Nap \t\t Sorszam \t Hossz(perc) \t\t Eloado");
  78.  
  79.                 foreach (var x in temp)
  80.                 {
  81.                     Console.WriteLine(x);
  82.                 }
  83.                 Console.WriteLine();
  84.                 var temp2 = (from x in masodiknap orderby x.Sorszam select x);
  85.  
  86.                 Console.WriteLine("Nap \t\t Sorszam \t Hossz(perc) \t\t Eloado");
  87.  
  88.                 foreach (var x in temp2)
  89.                 {
  90.                     Console.WriteLine(x);
  91.                 }
  92.                 Console.WriteLine();
  93.                 var temp3 = (from x in harmadiknap orderby x.Sorszam select x);
  94.  
  95.                 Console.WriteLine("Nap \t\t Sorszam \t Hossz(perc) \t\t Eloado");
  96.  
  97.                 foreach (var x in temp3)
  98.                 {
  99.                     Console.WriteLine(x);
  100.                 }
  101.                 Console.WriteLine();
  102.                 var elsonap_teljesido = (from od in elsonap select od.Ido).Sum();
  103.  
  104.                 TimeSpan span = TimeSpan.FromMinutes(elsonap_teljesido);
  105.                 Console.WriteLine("Az elso nap teljes eloadas ideje: {0}", span);
  106.                 Console.WriteLine();
  107.  
  108.                 var masodiknap_teljesido = (from od in masodiknap select od.Ido).Sum();
  109.                 span = TimeSpan.FromMinutes(masodiknap_teljesido);
  110.                 Console.WriteLine("A masodik nap teljes eloadas ideje: {0}", span);
  111.                 Console.WriteLine();
  112.  
  113.                 var harmadiknap_teljesido = (from od in harmadiknap select od.Ido).Sum();
  114.                 span = TimeSpan.FromMinutes(harmadiknap_teljesido);
  115.                 Console.WriteLine("A harmadik nap teljes eloadas ideje: {0}", span);
  116.                 Console.WriteLine();
  117.  
  118.                 int MaxIdo = osszes.Max(t => t.Ido);
  119.                 span = TimeSpan.FromMinutes(MaxIdo);
  120.  
  121.                 var Nev = (from x in osszes where x.Ido == MaxIdo select x.Eloado);
  122.                 foreach (var item in Nev)
  123.                 {
  124.                     Console.WriteLine("A leghosszabb eloadast tartotta: {0}, {1}", item, span);
  125.  
  126.                 }
  127.                 Console.WriteLine();
  128.                 int elsonap_vege = elsonap_teljesido + 480 + 60 + 20;
  129.                 span = TimeSpan.FromMinutes(elsonap_vege);
  130.                 Console.WriteLine("Elso nap végetértek az eloadasok {0}", span);
  131.                 Console.WriteLine();
  132.  
  133.                 int masodiknap_vege = masodiknap_teljesido + 480 + 60 + 20;
  134.                 span = TimeSpan.FromMinutes(masodiknap_vege);
  135.                 Console.WriteLine("Masodik nap végetértek az eloadasok {0}", span);
  136.                 Console.WriteLine();
  137.  
  138.                 int harmadiknap_vege = harmadiknap_teljesido + 480 + 60 + 20;
  139.                 span = TimeSpan.FromMinutes(harmadiknap_vege);
  140.                 Console.WriteLine("Harmadik nap végetértek az eloadasok {0}", span);
  141.                 Console.WriteLine();
  142.  
  143.                 double ebedszunet = 754;
  144.                 span = TimeSpan.FromMinutes(ebedszunet);
  145.                 Console.WriteLine("Az ebedszünet kezdődött: {0}", span);
  146.                 Console.WriteLine();
  147.  
  148.                 //Eloadas asdkak = null;
  149.                 List<Eloadas> azonos = new List<Eloadas>();
  150.  
  151.                 foreach (var x in osszes)
  152.                 {
  153.                     if (osszes.Count(y => y.Eloado == x.Eloado) > 1)
  154.                     {
  155.                         azonos.Add(x);
  156.                     }
  157.                 }
  158.                 // int -> count,  string -> nev
  159.                 Dictionary<int, string> nevek = new Dictionary<int, string>();
  160.  
  161.                 // azonosban van több név, és azokból mindegyiknek csak a neve kell és hogy hányszor szerepel.
  162.  
  163.                 foreach (var e in azonos)
  164.                 {
  165.                     if (! nevek.ContainsValue(e.Eloado))
  166.                     {
  167.                         nevek.Add(azonos.Count(y => y.Eloado == e.Eloado), e.Eloado);
  168.                     }
  169.                 }
  170.  
  171.                 foreach (var i in nevek)
  172.                 {
  173.                     Console.WriteLine("Nev: {0} \t Elofordulas: {1}", i.Value, i.Key);
  174.                 }
  175.  
  176.                 Console.WriteLine("Nap \t\t Sorszam \t Hossz(perc) \t\t Eloado");
  177.                 foreach (var item in azonos)
  178.                 {
  179.  
  180.                     Console.WriteLine(item);
  181.                 }
  182.  
  183.  
  184.                 /*var azonoseloadok = osszes
  185.                     .GroupBy(x => x.Eloado)
  186.                    
  187.                     .Select(lst => new { Count = lst.Count() });
  188.                
  189.                    
  190.                    
  191.                
  192.                 foreach (var item in azonoseloadok)
  193.                 {
  194.                     Console.WriteLine(item);
  195.                 }
  196.  
  197.                 //Console.WriteLine("Kerem a napot:");
  198.                 //int nap = Convert.ToInt32(Console.Read());
  199.                 //Console.WriteLine("Kerek egy idopontot:");
  200.                 //string ido = Console.ReadLine();*/
  201.  
  202.  
  203.             }
  204.             else
  205.             {
  206.                 Console.WriteLine("eloadas.txt nem találhato.");
  207.             }
  208.             Console.ReadKey(true);
  209.         }
  210.  
  211.     }
  212.  
  213.     public class Eloadas
  214.     {
  215.         private int m_nap;
  216.         private int m_sorszam;
  217.         private int m_ido;
  218.  
  219.         private string m_eloado;
  220.         public DateTime date = new DateTime();
  221.         public CultureInfo ci = CultureInfo.InstalledUICulture;
  222.         public int Nap
  223.         {
  224.             get { return m_nap; }
  225.             set { m_nap = value; }
  226.         }
  227.  
  228.         public int Sorszam
  229.         {
  230.             get { return m_sorszam; }
  231.             set { m_sorszam = value; }
  232.         }
  233.  
  234.         public int Ido
  235.         {
  236.             get { return m_ido; }
  237.             set { m_ido = value; }
  238.         }
  239.  
  240.         public string Eloado
  241.         {
  242.             get { return m_eloado; }
  243.             set { m_eloado = value; }
  244.         }
  245.  
  246.         public override string ToString()
  247.         {
  248.             return string.Format("{0} \t\t {1} \t\t {2} \t\t {3}", m_nap, m_sorszam, m_ido, m_eloado);
  249.         }
  250.  
  251.     }
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement