Added footgolf homework
This commit is contained in:
186
20240123/ConsoleApp1/Program.cs
Normal file
186
20240123/ConsoleApp1/Program.cs
Normal file
@@ -0,0 +1,186 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
namespace ConsoleApp1
|
||||
{
|
||||
public class Jatekos
|
||||
{
|
||||
public string nev;
|
||||
public string kategoria;
|
||||
public string egyesulet;
|
||||
public int[] pontok = { };
|
||||
public int osszpont;
|
||||
|
||||
public Jatekos(string Nev, string Kategoria, string Egyesulet, int[] Pontok)
|
||||
{
|
||||
nev = Nev;
|
||||
kategoria = Kategoria;
|
||||
egyesulet = Egyesulet;
|
||||
pontok = Pontok;
|
||||
osszpont = Osszpontszam(Pontok);
|
||||
}
|
||||
|
||||
public static int Osszpontszam(int[] p)
|
||||
{
|
||||
|
||||
int nulldb = 0;
|
||||
foreach (var item in p)
|
||||
{
|
||||
if (item == 0)
|
||||
{
|
||||
nulldb++;
|
||||
}
|
||||
}
|
||||
Array.Sort(p);
|
||||
|
||||
int x = p.Sum();
|
||||
int legkisebb = p.Min();
|
||||
int legkisebb2 = p[1];
|
||||
|
||||
if (nulldb == 0)
|
||||
{
|
||||
x -= legkisebb;
|
||||
x -= legkisebb2;
|
||||
x += 20;
|
||||
return x;
|
||||
}
|
||||
else if (nulldb == 1)
|
||||
{
|
||||
x -= legkisebb2;
|
||||
x += 10;
|
||||
return x;
|
||||
}
|
||||
else
|
||||
{
|
||||
return x;
|
||||
}
|
||||
}
|
||||
}
|
||||
internal class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
FileStream fs = new FileStream("fob2016.txt", FileMode.Open, FileAccess.Read);
|
||||
StreamReader sr = new StreamReader(fs);
|
||||
|
||||
List<Jatekos> adatok = new List<Jatekos>();
|
||||
|
||||
string sor = sr.ReadLine();
|
||||
|
||||
|
||||
while (sor != null)
|
||||
{
|
||||
string[] soradat = sor.Split(';');
|
||||
int[] temppont = { };
|
||||
for (int i = 3; i < soradat.Length; i++)
|
||||
{
|
||||
int pont = int.Parse(soradat[i]);
|
||||
temppont = temppont.Append(pont).ToArray();
|
||||
}
|
||||
Jatekos jatekos = new Jatekos(soradat[0], soradat[1], soradat[2], temppont);
|
||||
adatok.Add(jatekos);
|
||||
sor = sr.ReadLine();
|
||||
}
|
||||
|
||||
double db = 0;
|
||||
double ndb = 0;
|
||||
|
||||
foreach (var item in adatok)
|
||||
{
|
||||
db++;
|
||||
if (item.kategoria == "Noi")
|
||||
{
|
||||
ndb++;
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"3. feladat: Versenyzők száma: {db}");
|
||||
Console.WriteLine($"4. feladat: A női versenyzők aránya: {Math.Round((ndb / db) * 100, 2)}%");
|
||||
|
||||
int bajnok = 0;
|
||||
for (int i = 0; i < adatok.Count; i++)
|
||||
{
|
||||
if (adatok[i].osszpont > adatok[bajnok].osszpont)
|
||||
{
|
||||
bajnok = i;
|
||||
}
|
||||
}
|
||||
|
||||
Console.WriteLine($"6. feladat: A bajnok női versenyző");
|
||||
Console.WriteLine($"\tNév: {adatok[bajnok].nev}");
|
||||
Console.WriteLine($"\tEgyesület: {adatok[bajnok].egyesulet}");
|
||||
Console.WriteLine($"\tÖsszpont: {adatok[bajnok].osszpont}");
|
||||
FileStream fileStream = new FileStream("osszpontFF.txt", FileMode.Create, FileAccess.Write); ;
|
||||
StreamWriter streamWriter = new StreamWriter(fileStream);
|
||||
|
||||
foreach (var jatekos in adatok)
|
||||
{
|
||||
if (jatekos.kategoria == "Felnott ferfi")
|
||||
{
|
||||
streamWriter.WriteLine($"{jatekos.nev};{jatekos.osszpont}");
|
||||
}
|
||||
}
|
||||
streamWriter.Close();
|
||||
fileStream.Close();
|
||||
|
||||
List<string> egy = new List<string>();
|
||||
List<int> jatekosok = new List<int>();
|
||||
|
||||
foreach (var item in adatok)
|
||||
{
|
||||
if (egy.Contains(item.egyesulet))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else if (item.egyesulet != "n.a.")
|
||||
{
|
||||
egy.Add(item.egyesulet);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var egyesulet in egy)
|
||||
{
|
||||
int cntr = 0;
|
||||
foreach (var item in adatok)
|
||||
{
|
||||
if (egyesulet == item.egyesulet)
|
||||
{
|
||||
cntr++;
|
||||
}
|
||||
}
|
||||
jatekosok.Add(cntr);
|
||||
}
|
||||
|
||||
List<int> removeindex = new List<int>();
|
||||
for (int i = 0; i < egy.Count; i++)
|
||||
{
|
||||
if (jatekosok[i] <= 2)
|
||||
{
|
||||
removeindex.Add(i);
|
||||
}
|
||||
}
|
||||
Console.WriteLine($"8. feladat: Egyesület statisztika");
|
||||
|
||||
removeindex.Reverse();
|
||||
for (int i = 0; i < removeindex.Count; i++)
|
||||
{
|
||||
egy.RemoveAt(removeindex[i]);
|
||||
jatekosok.RemoveAt(removeindex[i]);
|
||||
}
|
||||
|
||||
|
||||
for (int i = 0; i < egy.Count; i++)
|
||||
{
|
||||
Console.WriteLine($"\t{egy[i]} - {jatekosok[i]} fő");
|
||||
}
|
||||
|
||||
|
||||
sr.Close();
|
||||
fs.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user