Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Norá Amzok

    újonc

    válasz Zsoxx #10177 üzenetére

    Hát nagyon szomorú vagyok, az emelt szintre van megoldás, de a középszintre nincs.Berakom a megoldást de nem működik. Már az elején nem ismeri fel a dolgokat:
    using System;
    using System.IO;
    using System.Collections.Generic; using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    szerintem a többi menne vagy nem.

    Megoldás:

    using System;
    using System.IO;
    using System.Collections.Generic; using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace footgolf
    {

    class versenyzo
    {
    public string nev { get;private set; } public string kategoria { get; private set; } public string egyesulet { get; private set; } public byte[] pontok { get; set; }

    public versenyzo(string sor)
    {
    string[] m = sor.Split(';'); nev = m[0]; kategoria= m[1]; egyesulet = m[2]; pontok = new byte[8];
    for(int i = 0; i < pontok.Length; i++)
    {
    pontok=byte.Parse(m[i+3]);
    }
    }

    5. //Készítsen függvényt vagy jellemzőt, amivel meghatározza egy
    //versenyzőnek a bajnokságban(8 fordulóban) elért egyéni összpontszámát! //A versenyző legrosszabb két eredménye kiesik az összpontszámból
    //A maradék hat pontszámot össze kell adni.
    //Ha a versenyző legrosszabb egy vagy két eredménye nem nulla akkor +10 pontot kap

    public int osszpontszam
    { get {
    int osszpont = 0; Array.Sort(pontok);
    for(int i = 2; i < pontok.Length; i++)
    {
    osszpont += pontok(i);
    }
    if (pontok[0] != 0) osszpont += 10; if (pontok[1] != 0) osszpont += 10; return osszpont;
    }
    }

    static void Main(string[] args)
    {
    2.//Olvassa be a fob2016.txt állományban lévő adatokat és tárolja el egy olyan
    //adatszerkezetben, amely a további feladatok megoldására
    alkalmas!
    double versenyzokszama = 0;
    List<versenyzo> vers = new List<versenyzo>(); foreach(var i in File.ReadAllLines("fob2016.txt"))
    {
    vers.Add(new versenyzo(i));
    // Console.WriteLine(" {0} ", i);//sorok kiíratása
    }

    3. //Határozza meg és írja ki a képernyőre a minta szerint, hogy //hány versenyző indult összesen a két kategóriában a bajnokságon!

    versenyzokszama = vers.Count();
    Console.WriteLine("3. feladat: Versenyzők száma: {0}", versenyzokszama);

    4.//Határozza meg és írja ki a képernyőre a minta szerint a női versenyzők arányát az összes
    //versenyzőszámhoz képest!A százalékos értéket két tizedesjegy pontossággal jelenítse meg!
    double noiversenyzokszama = 0; foreach (var i in vers)
    {
    if (i.kategoria == "Noi") noiversenyzokszama++; }

    Console.WriteLine("4. feladat: A női versenyzők aránya: {0}%",
    Math.Round((noiversenyzokszama / versenyzokszama * 100), 2));
    6. //Határozza meg és írja ki a minta szerint a 2016-os footgolf
    //bajnokság legtöbb pontot szerzett női bajnokát!
    int maxpont = 0;
    string bajnoknoegyesulet = ""; string bajnoknonev =""; foreach(var i in vers)
    {
    if(i.kategoria=="Noi" && i.osszpontszam > maxpont)
    {
    bajnoknonev = i.nev; bajnoknoegyesulet = i.egyesulet; maxpont = i.osszpontszam;
    } }
    if (maxpont!= 0)
    {
    Console.WriteLine("6. feladat: A bajnok női versenyző");
    Console.WriteLine("\tNév: {0}", bajnoknonev);
    Console.WriteLine("\tEgyesület: {0}", bajnoknoegyesulet);
    Console.WriteLine("\tÖsszpont: {0}", maxpont);
    }

    7. //Készítsen szöveges állományt osszpontFF.txt néven, amelybe kiírja a felnőtt férfi //kategóriában indult versenyzők nevét és a bajnokságban elért összpontszámát pontosvesszővel elválasztva
    List<string> kiirsor = new List<string>(); foreach (var i in vers)
    {
    if(i.kategoria=="Felnott ferfi")
    {
    kiirsor.Add($"{i.nev};{i.osszpontszam}");
    }
    }
    File.WriteAllLines("osszpontFF.txt", kiirsor);

    8. //Készítsen statisztikát a minta szerint, hogy az egyes egyesületekből
    //hány versenyző indult a bajnokságon!
    //Az egyesületen kívül indult versenyzőknél az egyesületnél az „n.a.” adat szerepel. //Ezek a versenyzők és az egy vagy két versenyzőt indító egyesületek ne szerepeljenek a statisztikában!

    Console.WriteLine("8. feladat: Egyesület statisztika"); Dictionary<string, int> d = new Dictionary<string, int>(); foreach (var i in vers)
    {
    if (d.ContainsKey(i.egyesulet))
    {
    d[i.egyesulet]++;
    } else
    {
    d.Add(i.egyesulet, 1);
    } }
    foreach (var i in d)
    {
    if(i.Key!="n.a." && i.Value >= 3)
    {
    Console.WriteLine("\t{0} - {1} fő",i.Key,i.Value);
    }
    }

    Console.ReadKey();
    }
    }
    }

Új hozzászólás Aktív témák