Készítő: Ample Penguin, 4 éve frissítve, szöveg nyelve: C#.
Beágyazás:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _2021_03_23_Hajómenetrend
  9. {
  10.         class Menetrend
  11.         {
  12.                 public string jarat;
  13.                 public string honnan;
  14.                 public string hova;
  15.                 public TimeSpan indul;
  16.                 public TimeSpan érkezik;
  17.  
  18.                 public Menetrend(string sor)
  19.                 {
  20.                         string[] darabolo = sor.Split(';');
  21.                         jarat = darabolo[0];
  22.                         honnan = darabolo[1];
  23.                         hova = darabolo[2];
  24.                         indul = TimeSpan.Parse(darabolo[3]);
  25.                         érkezik = TimeSpan.Parse(darabolo[4]);
  26.                 }
  27.         }
  28.         class Hajó
  29.         {
  30.                 static void Main(string[] args)
  31.                 {
  32.                         List<Menetrend> menetrendek = new List<Menetrend>();
  33.  
  34.                         foreach (var sor in File.ReadAllLines("menetrend.txt").Skip(1)) {
  35.                                 menetrendek.Add(new Menetrend(sor));
  36.                         }
  37.  
  38.                         Console.WriteLine($"3. feladat: Járatok száma: {menetrendek.Count}");
  39.  
  40.                         Console.WriteLine($"\n4. feladat: ");
  41.                         foreach (var m in menetrendek) {
  42.                                 if (m.honnan == "Balatonfüred") {
  43.                                         if (m.indul >= TimeSpan.Parse("11:30") && m.indul <= TimeSpan.Parse("12:30")) {
  44.                                                 Console.WriteLine($"{m.jarat} | {m.honnan} - {m.indul.ToString("hh':'mm")} | {m.hova} - {m.érkezik.ToString("hh':'mm")}");
  45.                                         }
  46.                                 }
  47.                         }
  48.  
  49.                         Menetrend legutolsóJárat = null;
  50.                         TimeSpan hanyOra = TimeSpan.Parse("00:00:00");
  51.                         foreach (var m in menetrendek) {
  52.                                 if (m.hova == "Balatonföldvár") {
  53.                                         if (m.érkezik > hanyOra) {
  54.                                                 hanyOra = m.érkezik;
  55.                                                 legutolsóJárat = m;
  56.                                         }
  57.                                 }
  58.                         }
  59.  
  60.                         Console.WriteLine($"\n5. feladat: \n\tAz utolsó járat Balatonföldvárra: {legutolsóJárat.érkezik.ToString("hh':'mm")}-kor érkezik");
  61.  
  62.                         Dictionary<string, int> állomások = new Dictionary<string, int>();
  63.  
  64.                         Console.WriteLine("\n6. feladat\nÁllomás \t| Hajók száma\n-----------------------------");
  65.                         foreach (var m in menetrendek) {
  66.                                 if (!állomások.ContainsKey(m.hova)) {
  67.                                         állomások.Add(m.hova, 1);
  68.                                 } else {
  69.                                         állomások[m.hova]++;
  70.                                 }
  71.                         }
  72.  
  73.                         foreach (var á in állomások.OrderByDescending(key => key.Value)) {
  74.                                 if (á.Key.Length < 7) {
  75.                                         Console.WriteLine($"{á.Key} \t\t| {á.Value}");
  76.                                 } else {
  77.                                         Console.WriteLine($"{á.Key} \t| {á.Value}");
  78.                                 }
  79.                         }
  80.  
  81.                         Console.ReadKey();
  82.                 }
  83.         }
  84. }
  85.