175 lines
5.4 KiB
Plaintext
175 lines
5.4 KiB
Plaintext
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.IO;
|
|
|
|
namespace ConsoleApp1
|
|
{
|
|
public class Egyed
|
|
{
|
|
public string versenyzo, kategoria, versenyido;
|
|
public int rajtszam, tavszazalek;
|
|
public double idooraban;
|
|
|
|
public Egyed(string Versenyzo, int Rajtszam, string Kategoria, string Versenyido, int Tavszazalek)
|
|
{
|
|
versenyido = Versenyido;
|
|
versenyzo = Versenyzo;
|
|
kategoria = Kategoria;
|
|
rajtszam = Rajtszam;
|
|
tavszazalek = Tavszazalek;
|
|
idooraban = IdoOraban();
|
|
}
|
|
|
|
public double IdoOraban()
|
|
{
|
|
string[] ido = versenyido.Split(':');
|
|
int[] idoint = { Convert.ToInt32(ido[0]), Convert.ToInt32(ido[1]), Convert.ToInt32(ido[2]) };
|
|
return idoint[0] + idoint[1] / 60 + idoint[2] / 3600;
|
|
}
|
|
}
|
|
class Program
|
|
{
|
|
private static int Feladat3(List<Egyed> adatok)
|
|
{
|
|
int cntr = 0;
|
|
foreach (var item in adatok)
|
|
{
|
|
cntr++;
|
|
}
|
|
return cntr;
|
|
}
|
|
|
|
private static int Feladat4(List<Egyed> adatok)
|
|
{
|
|
int counter = 0;
|
|
foreach (var item in adatok)
|
|
{
|
|
if (item.kategoria != "Ferfi" && item.tavszazalek == 100)
|
|
{
|
|
counter++;
|
|
}
|
|
}
|
|
return counter;
|
|
}
|
|
|
|
private static void Feladat5(List<Egyed> adatok, string nev)
|
|
{
|
|
bool tartalmaz = false;
|
|
int ind = -1;
|
|
for (int i = 0; i < adatok.Count; i++)
|
|
{
|
|
if (adatok[i].versenyzo == nev)
|
|
{
|
|
tartalmaz = true;
|
|
ind = i;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (tartalmaz)
|
|
{
|
|
Console.WriteLine($"\tIndult egyéniben a sportoló? Igen");
|
|
if (adatok[ind].tavszazalek == 100)
|
|
{
|
|
Console.WriteLine("\tTeljesítette a teljes távot? Igen");
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine("\tTeljesítette a teljes távot? Nem");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine($"\tIndult egyéniben a sportoló? Nem");
|
|
}
|
|
|
|
}
|
|
|
|
private static double Feladat7(List<Egyed> adatok)
|
|
{
|
|
int cntr = 0;
|
|
double osszido = 0;
|
|
foreach (var item in adatok)
|
|
{
|
|
if (item.tavszazalek == 100 && item.kategoria == "Ferfi")
|
|
{
|
|
cntr++;
|
|
osszido += item.idooraban;
|
|
}
|
|
}
|
|
|
|
return osszido / cntr;
|
|
}
|
|
|
|
private static string Feladat8F(List<Egyed> adatok)
|
|
{
|
|
int ind = 0;
|
|
int cntr = 0;
|
|
foreach (var item in adatok)
|
|
{
|
|
if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Ferfi")
|
|
{
|
|
ind = cntr;
|
|
}
|
|
cntr++;
|
|
}
|
|
|
|
return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}";
|
|
}
|
|
|
|
private static string Feladat8N(List<Egyed> adatok)
|
|
{
|
|
int ind = 0;
|
|
int cntr = 0;
|
|
foreach (var item in adatok)
|
|
{
|
|
if (adatok[ind].idooraban > item.idooraban && item.tavszazalek == 100 && item.kategoria == "Noi")
|
|
{
|
|
ind = cntr;
|
|
}
|
|
cntr++;
|
|
}
|
|
|
|
return $"{adatok[ind].versenyzo} ({adatok[ind].rajtszam}.) - {adatok[ind].versenyido}";
|
|
}
|
|
static void Main(string[] args)
|
|
{
|
|
List<Egyed> adatok = new List<Egyed>();
|
|
|
|
FileStream fileStream = new FileStream("ub2017egyeni.txt", FileMode.Open, FileAccess.Read);
|
|
StreamReader streamReader = new StreamReader(fileStream);
|
|
string sor = streamReader.ReadLine();
|
|
sor = streamReader.ReadLine();
|
|
while (sor != null)
|
|
{
|
|
string[] arr = sor.Split(';');
|
|
Egyed egyed = new Egyed(arr[0], Convert.ToInt32(arr[1]), arr[2], arr[3], Convert.ToInt32(arr[4]));
|
|
adatok.Add(egyed);
|
|
sor = streamReader.ReadLine();
|
|
}
|
|
|
|
streamReader.Close();
|
|
fileStream.Close();
|
|
|
|
|
|
Console.ForegroundColor = ConsoleColor.Magenta;
|
|
Console.BackgroundColor = ConsoleColor.Blue;
|
|
|
|
|
|
Console.WriteLine($"3. feladat: Egyéni indulók: {Feladat3(adatok)} fő");
|
|
Console.WriteLine($"4. feladat: Célba érkező női sportolók: {Feladat4(adatok)} fő");
|
|
Console.WriteLine($"5. feladat: Kérem a sporotló nevét: ");
|
|
string sportolo = Console.ReadLine();
|
|
Feladat5(adatok, sportolo);
|
|
Console.WriteLine($"7. feladat: Átlagos idő: {Feladat7(adatok)} óra");
|
|
Console.WriteLine($"8. feladat: Verseny győztesei:");
|
|
Console.WriteLine($"\tNők: {Feladat8N(adatok)}");
|
|
Console.WriteLine($"\tFérfiak: {Feladat8F(adatok)}");
|
|
Console.ResetColor();
|
|
}
|
|
}
|
|
}
|