Készítő: Sludgy Pudu, 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.Threading.Tasks;
  6. using System.IO;
  7. using System.Globalization;
  8.  
  9. namespace Torna_Refaktorálás
  10. {
  11.         class Versenyző
  12.         {
  13.                 public int Rajtszám;
  14.                 public string Név;
  15.                 public string OrszágKód;
  16.                 public string Kontinens;
  17.                 public double Talaj;
  18.                 public double Lólengés;
  19.                 public double Gyűrű;
  20.                 public double Nyújtó;
  21.                 public double Korlát;
  22.                 public double Ugrás;
  23.  
  24.                 public Versenyző(string sor)
  25.                 {
  26.                         string[] darabolo = sor.Split(';');
  27.                         Rajtszám = int.Parse(darabolo[0]);
  28.                         Név = darabolo[1];
  29.                         OrszágKód = darabolo[2];
  30.                         Kontinens = darabolo[3];
  31.                         Talaj = double.Parse(darabolo[4]);
  32.                         Lólengés = double.Parse(darabolo[5]);
  33.                         Gyűrű = double.Parse(darabolo[6]);
  34.                         Nyújtó = double.Parse(darabolo[7]);
  35.                         Korlát = double.Parse(darabolo[8]);
  36.                         Ugrás = double.Parse(darabolo[9]);
  37.                 }
  38.         }
  39.  
  40.         class Torna_YourName
  41.         {
  42.                 static void Main(string[] args)
  43.                 {
  44.                         List<Versenyző> versenyzők = new List<Versenyző>();
  45.  
  46.                         foreach (var sor in File.ReadAllLines("torna.csv").Skip(1))
  47.                         {
  48.                                 versenyzők.Add(new Versenyző(sor));
  49.                         }
  50.  
  51.                         Console.WriteLine($"2. feladat\nÖsszesen {versenyzők.Count} versenyző indult a versenyen.");
  52.  
  53.                         double korlátArany = 0;
  54.                         Versenyző aranyérmesKorlát = null;
  55.  
  56.                         foreach (var versenyző in versenyzők)
  57.                         {
  58.                                 if (versenyző.Korlát > korlátArany)
  59.                                 {
  60.                                         korlátArany = versenyző.Korlát;
  61.                                         aranyérmesKorlát = versenyző;
  62.                                 }
  63.                         }
  64.  
  65.                         Console.WriteLine($"\n3. feladat\nKorláton {aranyérmesKorlát.Név} szerezte meg az aranyérmet.");
  66.  
  67.                         Console.Write($"\n4. feladat\nKérem a versenyző rajtszámát: ");
  68.  
  69.                         int bekértSzám = int.Parse(Console.ReadLine());
  70.  
  71.                         Versenyző találtVersenyző = null;
  72.  
  73.                         bool találatBekérés = false;
  74.  
  75.                         foreach (var versenyző in versenyzők)
  76.                         {
  77.                                 if (versenyző.Rajtszám == bekértSzám)
  78.                                 {
  79.                                         találatBekérés = true;
  80.                                         találtVersenyző = versenyző;
  81.                                 }
  82.                         }
  83.  
  84.                         Console.WriteLine((találatBekérés ? "A " + bekértSzám + " rajtszámú versenyző gyűrűn elért eredménye: " + találtVersenyző.Gyűrű + " pont." : "Nincs ilyen versenyző!"));
  85.  
  86.                         Console.WriteLine("\n5. feladat\nLólengésben nem jutottak döntőbe");
  87.  
  88.                         foreach (var versenyző in versenyzők)
  89.                         {
  90.                                 if (versenyző.Lólengés < 14.5)
  91.                                 {
  92.                                         Console.WriteLine($"\t{versenyző.Név}");
  93.                                 }
  94.                         }
  95.  
  96.                         Console.Write("\n6. feladat\nFöldrészek, amelyekről versenyzők indultak: ");
  97.  
  98.                         List<string> Földrészek = new List<string>();
  99.  
  100.                         foreach (var versenyző in versenyzők)
  101.                         {
  102.                                 if (!Földrészek.Contains(versenyző.Kontinens))
  103.                                 {
  104.                                         Földrészek.Add(versenyző.Kontinens);
  105.                                 }
  106.                         }
  107.  
  108.                         Földrészek.Sort();
  109.  
  110.                         foreach (var földrész in Földrészek) Console.Write($"{földrész} ");
  111.  
  112.                         List<string> országKódok = new List<string>();
  113.                         int[] országonkéntVersenyző = new int[versenyzők.Count];
  114.  
  115.                         foreach(var versenyző in versenyzők) {
  116.                                 if (!országKódok.Contains(versenyző.OrszágKód)) {
  117.                                         országKódok.Add(versenyző.OrszágKód);
  118.                                 }
  119.                         }
  120.  
  121.                         foreach (var versenyző in versenyzők) {
  122.                                 for (int i = 0; i < országKódok.Count; i++) {
  123.                                         if (országKódok[i] == versenyző.OrszágKód) {
  124.                                                 országonkéntVersenyző[i]++;
  125.                                         }
  126.                                 }
  127.                         }
  128.  
  129.                         Console.WriteLine("\n\n7. feladat");
  130.  
  131.                         int iterátor = 0;
  132.                         foreach (var országkód in országKódok)
  133.                         {
  134.                                 Console.WriteLine($"\t{országkód} {országonkéntVersenyző[iterátor]} fő");
  135.                                 iterátor++; //biztos van rá jobb megoldás, én ezt használom most
  136.                         }
  137.  
  138.                         FileStream fáljKészítő = new FileStream("francia.txt", FileMode.Create);
  139.                         StreamWriter író = new StreamWriter(fáljKészítő);
  140.                         író.WriteLine("Rajtszám;Név;Összpontszám"); //nem vagyok benne biztos, hogy ez is kell ide, de én ideraktam azért
  141.  
  142.                         foreach (var versenyző in versenyzők)
  143.                         {
  144.                                 if (versenyző.OrszágKód == "FRA")
  145.                                 {
  146.                                         író.WriteLine($"{versenyző.Rajtszám};{versenyző.Név};{versenyző.Talaj + versenyző.Lólengés + versenyző.Gyűrű + versenyző.Nyújtó + versenyző.Korlát + versenyző.Ugrás}");
  147.                                 }
  148.                         }
  149.  
  150.                         író.Close();
  151.                         fáljKészítő.Close();
  152.  
  153.                         Console.ReadKey();
  154.                 }
  155.         }
  156. }
  157. using System;
  158. using System.Collections.Generic;
  159. using System.Linq;
  160. using System.Text;
  161. using System.Threading.Tasks;
  162. using System.IO;
  163. using System.Globalization;
  164.  
  165. namespace Torna_Refaktorálás
  166. {
  167.         class Versenyző
  168.         {
  169.                 public int Rajtszám;
  170.                 public string Név;
  171.                 public string OrszágKód;
  172.                 public string Kontinens;
  173.                 public double Talaj;
  174.                 public double Lólengés;
  175.                 public double Gyűrű;
  176.                 public double Nyújtó;
  177.                 public double Korlát;
  178.                 public double Ugrás;
  179.  
  180.                 public Versenyző(string sor)
  181.                 {
  182.                         string[] darabolo = sor.Split(';');
  183.                         Rajtszám = int.Parse(darabolo[0]);
  184.                         Név = darabolo[1];
  185.                         OrszágKód = darabolo[2];
  186.                         Kontinens = darabolo[3];
  187.                         Talaj = double.Parse(darabolo[4]);
  188.                         Lólengés = double.Parse(darabolo[5]);
  189.                         Gyűrű = double.Parse(darabolo[6]);
  190.                         Nyújtó = double.Parse(darabolo[7]);
  191.                         Korlát = double.Parse(darabolo[8]);
  192.                         Ugrás = double.Parse(darabolo[9]);
  193.                 }
  194.         }
  195.  
  196.         class Torna_YourName
  197.         {
  198.                 static void Main(string[] args)
  199.                 {
  200.                         List<Versenyző> versenyzők = new List<Versenyző>();
  201.  
  202.                         foreach (var sor in File.ReadAllLines("torna.csv").Skip(1))
  203.                         {
  204.                                 versenyzők.Add(new Versenyző(sor));
  205.                         }
  206.  
  207.                         Console.WriteLine($"2. feladat\nÖsszesen {versenyzők.Count} versenyző indult a versenyen.");
  208.  
  209.                         double korlátArany = 0;
  210.                         Versenyző aranyérmesKorlát = null;
  211.  
  212.                         foreach (var versenyző in versenyzők)
  213.                         {
  214.                                 if (versenyző.Korlát > korlátArany)
  215.                                 {
  216.                                         korlátArany = versenyző.Korlát;
  217.                                         aranyérmesKorlát = versenyző;
  218.                                 }
  219.                         }
  220.  
  221.                         Console.WriteLine($"\n3. feladat\nKorláton {aranyérmesKorlát.Név} szerezte meg az aranyérmet.");
  222.  
  223.                         Console.Write($"\n4. feladat\nKérem a versenyző rajtszámát: ");
  224.  
  225.                         int bekértSzám = int.Parse(Console.ReadLine());
  226.  
  227.                         Versenyző találtVersenyző = null;
  228.  
  229.                         bool találatBekérés = false;
  230.  
  231.                         foreach (var versenyző in versenyzők)
  232.                         {
  233.                                 if (versenyző.Rajtszám == bekértSzám)
  234.                                 {
  235.                                         találatBekérés = true;
  236.                                         találtVersenyző = versenyző;
  237.                                 }
  238.                         }
  239.  
  240.                         Console.WriteLine((találatBekérés ? "A " + bekértSzám + " rajtszámú versenyző gyűrűn elért eredménye: " + találtVersenyző.Gyűrű + " pont." : "Nincs ilyen versenyző!"));
  241.  
  242.                         Console.WriteLine("\n5. feladat\nLólengésben nem jutottak döntőbe");
  243.  
  244.                         foreach (var versenyző in versenyzők)
  245.                         {
  246.                                 if (versenyző.Lólengés < 14.5)
  247.                                 {
  248.                                         Console.WriteLine($"\t{versenyző.Név}");
  249.                                 }
  250.                         }
  251.  
  252.                         Console.Write("\n6. feladat\nFöldrészek, amelyekről versenyzők indultak: ");
  253.  
  254.                         List<string> Földrészek = new List<string>();
  255.  
  256.                         foreach (var versenyző in versenyzők)
  257.                         {
  258.                                 if (!Földrészek.Contains(versenyző.Kontinens))
  259.                                 {
  260.                                         Földrészek.Add(versenyző.Kontinens);
  261.                                 }
  262.                         }
  263.  
  264.                         Földrészek.Sort();
  265.  
  266.                         foreach (var földrész in Földrészek) Console.Write($"{földrész} ");
  267.  
  268.                         List<string> országKódok = new List<string>();
  269.                         int[] országonkéntVersenyző = new int[versenyzők.Count];
  270.  
  271.                         foreach(var versenyző in versenyzők) {
  272.                                 if (!országKódok.Contains(versenyző.OrszágKód)) {
  273.                                         országKódok.Add(versenyző.OrszágKód);
  274.                                 }
  275.                         }
  276.  
  277.                         foreach (var versenyző in versenyzők) {
  278.                                 for (int i = 0; i < országKódok.Count; i++) {
  279.                                         if (országKódok[i] == versenyző.OrszágKód) {
  280.                                                 országonkéntVersenyző[i]++;
  281.                                         }
  282.                                 }
  283.                         }
  284.  
  285.                         Console.WriteLine("\n\n7. feladat");
  286.  
  287.                         int iterátor = 0;
  288.                         foreach (var országkód in országKódok)
  289.                         {
  290.                                 Console.WriteLine($"\t{országkód} {országonkéntVersenyző[iterátor]} fő");
  291.                                 iterátor++; //biztos van rá jobb megoldás, én ezt használom most
  292.                         }
  293.  
  294.                         FileStream fáljKészítő = new FileStream("francia.txt", FileMode.Create);
  295.                         StreamWriter író = new StreamWriter(fáljKészítő);
  296.                         író.WriteLine("Rajtszám;Név;Összpontszám"); //nem vagyok benne biztos, hogy ez is kell ide, de én ideraktam azért
  297.  
  298.                         foreach (var versenyző in versenyzők)
  299.                         {
  300.                                 if (versenyző.OrszágKód == "FRA")
  301.                                 {
  302.                                         író.WriteLine($"{versenyző.Rajtszám};{versenyző.Név};{versenyző.Talaj + versenyző.Lólengés + versenyző.Gyűrű + versenyző.Nyújtó + versenyző.Korlát + versenyző.Ugrás}");
  303.                                 }
  304.                         }
  305.  
  306.                         író.Close();
  307.                         fáljKészítő.Close();
  308.  
  309.                         Console.ReadKey();
  310.                 }
  311.         }
  312. }
  313.