using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _2021_03_23_Hajómenetrend
{
class Menetrend
{
public string jarat;
public string honnan;
public string hova;
public TimeSpan indul;
public TimeSpan érkezik;
public Menetrend(string sor)
{
string[] darabolo = sor.Split(';');
jarat = darabolo[0];
honnan = darabolo[1];
hova = darabolo[2];
indul = TimeSpan.Parse(darabolo[3]);
érkezik = TimeSpan.Parse(darabolo[4]);
}
}
class Hajó
{
static void Main(string[] args)
{
List
<Menetrend
> menetrendek
= new List
<Menetrend
>();
foreach (var sor in File.ReadAllLines("menetrend.txt").Skip(1)) {
menetrendek
.Add(new Menetrend
(sor
));
}
Console.WriteLine($"3. feladat: Járatok száma: {menetrendek.Count}");
Console.WriteLine($"\n4. feladat: ");
foreach (var m in menetrendek) {
if (m.honnan == "Balatonfüred") {
if (m.indul >= TimeSpan.Parse("11:30") && m.indul <= TimeSpan.Parse("12:30")) {
Console.WriteLine($"{m.jarat} | {m.honnan} - {m.indul.ToString("hh':'mm")} | {m.hova} - {m.érkezik.ToString("hh':'mm")}");
}
}
}
Menetrend legutolsóJárat = null;
TimeSpan hanyOra = TimeSpan.Parse("00:00:00");
foreach (var m in menetrendek) {
if (m.hova == "Balatonföldvár") {
if (m.érkezik > hanyOra) {
hanyOra = m.érkezik;
legutolsóJárat = m;
}
}
}
Console.WriteLine($"\n5. feladat: \n\tAz utolsó járat Balatonföldvárra: {legutolsóJárat.érkezik.ToString("hh':'mm")}-kor érkezik");
Dictionary
<string,
int> állomások
= new Dictionary
<string,
int>();
Console.WriteLine("\n6. feladat\nÁllomás \t| Hajók száma\n-----------------------------");
foreach (var m in menetrendek) {
if (!állomások.ContainsKey(m.hova)) {
állomások.Add(m.hova, 1);
} else {
állomások[m.hova]++;
}
}
foreach (var á in állomások.OrderByDescending(key => key.Value)) {
if (á.Key.Length < 7) {
Console.WriteLine($"{á.Key} \t\t| {á.Value}");
} else {
Console.WriteLine($"{á.Key} \t| {á.Value}");
}
}
Console.ReadKey();
}
}
}