C#-ban ezt hogy kell megírni?
Aki megoldja nekem, és ide leírja MOST, azt meghálálom! Nagyon fontos lenne!
A fröccsivó verseny jegyzőkönyvét tartalmazza a froccs.txt állomány az alábbi formátumban:
Drótos Karesz;10:6*140
Kovács Pál;7:5*80
A szöveges fájlt elérhetitek a https://goopontgl/gt8fRK oldalról.
A fájl annyi sorból áll, amennyi játékos részt vett a versenyen. A versenyző neve a ; karakterig látható. A ; és a : karakter közötti érték mutatja, hány nagyfröccsöt ivott meg a versenyző. A : és a * karakter között található a megivott kisfröccsök száma. A * utáni karakter pedig azt mutatja meg, mennyi idő után dőlt ki a versenyző.
Írj olyan programot, amely feldolgozza a szöveges fájlt tömb adatszerkezetekbe! Ezután oldd meg a következő feladatokat. A program megvalósítása során törekedj arra, hogy az egyes feladatokat külön függvények segítségével oldd meg!
1. feladat: Listázd ki a képernyőre az összes játékos nevét. Minden sorban jelenítsd meg a versenyző nevét, mennyi kisfröccsöt és nagyfröccsöt ivott és az ehhez szükséges időt is.
2. feladat: Írd ki melyik játékos itta meg a legtöbb kisfröccsöt!
3. feladat: Listázd ki azon játékosok nevét akik 60 percnél tovább bírták a versenyt!
4. feladat: Írd ki a győztest! Az a játékos nyer, aki a legtöbb italt fogyasztotta. Egy kisfröccs 2 deciliter, egy nagyfröccs 3 deciliter.
5. feladat: Írd ki, átlagosan hány deciliter italt fogyasztottak el a játékosok!
a: 5000 forint lesz.
b: Írd le, hogy mi van már meg, és hol akadtál el!
G.
megbeszéltük...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _0420Feladat2
{
class Program
{
static void Main(string[] args)
{
int nagypia=3;
int kispia=2;
string[] beolvas = System.IO.File.ReadAllLines("froccs.txt");
string[] neve = new string[beolvas.Length];
int[] kisfroccs = new int[beolvas.Length];
int[] nagyfroccs = new int[beolvas.Length];
int[] ido = new int[beolvas.Length];
for (int i = 0; i < beolvas.Length; i++)
{
string be = beolvas[i];
string[] split = be.Split(';', ':', '*');
neve[i] = (split[0]);
kisfroccs[i] = Convert.ToInt32(split[1]);
nagyfroccs[i] = Convert.ToInt32(split[2]);
ido[i] =Convert.ToInt32(split[3]);
}
for (int i = 0; i < beolvas.Length; i++)
{
Console.WriteLine("neve {0}, kisfröccsivás száma {1}, nagyfröccsivás száma {2}, ideje {3}", neve[i], kisfroccs[i], nagyfroccs[i], ido[i]);
}
Console.ReadLine();
for (int i = 0; i < ido.Length; i++)
if (ido[i]<=60)
{
Console.WriteLine("akik 60 percnél többet tudtak inni: {0}", neve[i]);
}
Console.ReadLine();
}
}
}
Ahogy elnézem egész jól állsz.
Lefut minden rendben?
"if (ido[i]<=60)" Itt nem >60-at akartál írni?
1: Ez úgy látom sikerült.
2: A legtöbb kisfröccs egy egyszerű maximum kiválasztás. Végigmész a tömbön és ha az aktuális elem nagyobb, mint az előző, akkor azt elrakod (pl.) egy max változóba. Amire a ciklus a tömb végére ér, a legnagyobb érték lesz a max-ban. Arra rigyelj, hogy a ciklus előtt adj értéket max-nak, méghozzá az első elem értékét, és kettőtől indítsd a ciklust!
3: Ez már majdnem megvan.
4: Segítek, a képlet: kisfroccs * 2 + nagyfroccs * 3 = mennyiseg. Ezt kiszámolod mindenkinek és innen meg a már emlegetett max. kiválasztás.
5: Átlagszámolás szintén nem egy nagy was ist das: A fenti képlet alapján összeadod a fröccsmennyiséget, majd osztod a versenyzők számával.
Ennyi.
G.
Akkor keress egy kávéautomatát...
G.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!