Készítő: Bulky Madrill, 4 éve frissítve, szöveg nyelve: C#.
Beágyazás:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Ultrabalatonkonstruktor
  9. {
  10.         class Futó
  11.         {
  12.                 public string Név;
  13.                 public int Rajtszám;
  14.                 public string Kategória;
  15.                 public string Időeredmény;
  16.                 public int Százalék;
  17.  
  18.                 public Futó(string sor)
  19.                 {
  20.                         string[] daraboló = sor.Split(';');
  21.                         Név = daraboló[0];
  22.                         Rajtszám = int.Parse(daraboló[1]);
  23.                         Kategória = daraboló[2];
  24.                         Időeredmény = daraboló[3];
  25.                         Százalék = int.Parse(daraboló[4]);
  26.                 }
  27.  
  28.                 public double IdőÓrában()
  29.                 {
  30.                         string[] daraboló = Időeredmény.Split(':');
  31.                         double Óra = double.Parse(daraboló[0]);
  32.                         double Perc = double.Parse(daraboló[1]);
  33.                         double Másodperc = double.Parse(daraboló[2]);
  34.                         return (Óra + Perc / 60) + (Másodperc / 3600);
  35.                 }
  36.         }
  37.  
  38.         class Ultrabalaton_YourName
  39.         {
  40.  
  41.                 static void Main(string[] args)
  42.                 {
  43.                         List<Futó> futók = new List<Futó>();
  44.  
  45.                         foreach (var sor in File.ReadAllLines("ub2017egyeni.txt").Skip(1))
  46.                         {
  47.                                 futók.Add(new Futó(sor));
  48.                         }
  49.  
  50.                         Console.WriteLine($"3. feladat: Egyéni indulók: {futók.Count} fő");
  51.  
  52.                         int célbaÉrtNők = 0;
  53.  
  54.                         foreach (var Versenyző in futók)
  55.                         {
  56.                                 if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100) célbaÉrtNők++;
  57.                         }
  58.  
  59.                         Console.WriteLine($"4. feladat: Célba érkező női sportolók: {célbaÉrtNők} fő");
  60.  
  61.                         Console.Write($"5. feladat: Kérem a sportoló nevét: ");
  62.                         string beolvasottSor = Console.ReadLine();
  63.  
  64.                         bool találat = false;
  65.                         bool célbaÉrt = false;
  66.  
  67.                         foreach (var Versenyző in futók)
  68.                         {
  69.                                 if (Versenyző.Név == beolvasottSor)
  70.                                 {
  71.                                         találat = true;
  72.                                         if (Versenyző.Százalék == 100) célbaÉrt = true;
  73.                                         break;
  74.                                 }
  75.                         }
  76.  
  77.                         Console.Write($"\tIndult egyéniben a sportoló? {(találat ? "Igen" : "Nem")}");
  78.  
  79.                         if (találat) Console.Write($"\n\tTeljesítette a teljes távot? {(célbaÉrt ? "Igen" : "Nem")}");
  80.  
  81.                         double célbaÉrtFérfiak = 0;
  82.                         double összesIdő = 0;
  83.  
  84.                         foreach (var Versenyző in futók)
  85.                         {
  86.                                 if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100)
  87.                                 {
  88.                                         célbaÉrtFérfiak++;
  89.                                         összesIdő += Versenyző.IdőÓrában();
  90.                                 }
  91.                         }
  92.  
  93.                         Console.WriteLine($"\n7. feladat: Átlagos idő: {összesIdő / célbaÉrtFérfiak} óra");
  94.  
  95.                         double győztesIdőFérfi = 999;
  96.                         double győztesIdőNői = 999;
  97.  
  98.                         Futó férfiGyőztes = null;
  99.                         Futó nőiGyőztes = null;
  100.  
  101.                         foreach (var Versenyző in futók)
  102.                         {
  103.                                 if (Versenyző.Kategória == "Noi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőNői)
  104.                                 {
  105.                                         győztesIdőNői = Versenyző.IdőÓrában();
  106.                                         nőiGyőztes = Versenyző;
  107.                                 }
  108.                                 if (Versenyző.Kategória == "Ferfi" && Versenyző.Százalék == 100 && Versenyző.IdőÓrában() < győztesIdőFérfi)
  109.                                 {
  110.                                         győztesIdőFérfi = Versenyző.IdőÓrában();
  111.                                         férfiGyőztes = Versenyző;
  112.                                 }
  113.                         }
  114.  
  115.                         Console.WriteLine("8. feladat: Verseny győztesei");
  116.                         Console.WriteLine($"\tNők: {nőiGyőztes.Név} ({nőiGyőztes.Rajtszám}.) - {nőiGyőztes.Időeredmény}");
  117.                         Console.WriteLine($"\tFérfiak: {férfiGyőztes.Név} ({férfiGyőztes.Rajtszám}.) - {férfiGyőztes.Időeredmény}");
  118.  
  119.                         Console.ReadKey();
  120.                 }
  121.         }
  122. }
  123.