Emelt informatika érettségi programozás feladatban segítség?
Az érettségin az utolsó feladat ez (a legnehezebb).
Van egy txt, amiben benne vannak egy verseny résztvevőinek azonosítói, és szóközzel elválasztva, hogy hány pontot értek el a versenyen.
Ez a feladat:
A versenyen a három legmagasabb pontszámot elérő összes versenyzőt díjazzák. Például 5 indulónál előfordulhat, hogy 3 első és 2 második díjat adnak ki. Így megtörténhet az is, hogy nem kerül sor mindegyik díj kiadására. Írassa ki a mintának megfelelően a képernyőre a díjazottak kódját és pontszámát pontszám szerint csökkenő sorrendben!
És itt a minta, hogy hogyan kell kinéznie a cmd-ben:
7. feladat: A verseny legjobbjai:
1. díj (56 pont): JO001
2. díj (52 pont): DG490
2. díj (52 pont): UA889
3. díj (49 pont): FX387
Már órák óta szenvedek vele. Beolvastam egy string tömb-be a versenyzők azonosítójat és egy int tömb-be a hozzájuk tartozó pontszámot. De ha rendezem a pontszámok tömböt, akkor ugye nem tudom hogy melyik sorszámra kell hivatkozni az azonosítók tömbben és nem tudom az azonosító mellé írni a hozzá tartozó pontszámot.
Tudtok valami egyszerű megoldást rá? Egyébként C++-ban csinálom.
Létrehozol egy struktúrát, ami egy helyen tárolja az azonosítót és a pontszámot, és így, egységesen rendezed őket.
struct Result {
int score;
std::string id;
};
Ez így miért nem jó?
struct adatokk
{
string id;
int score;
};
adatokk tomb[i];
sort (tomb, tomb+i);
for (int i=0; i<5; i++)
cout<<tomb[i].id<<" "<<tomb[i].score<<endl;
így meg tudtam oldani:
struct adatokk
{
string id;
int score;
bool operator<(const adatokk& rhs) const
{
return score < rhs.score;// sort by score
}
};
adatokk tomb[i];
sort (tomb, tomb+i);
for (int j=i-1; j>-1; j--)
{
cout<<huna[j].id<<" "<<huna[j].score<<endl;
}
Viszont most magában a feladatban akadtam el. Hogy kellene kilistázni csak azokat a díjazottakat, akiket a feladat kér?
ez a sor:
cout<<huna[j].id<<" "<<huna[j].score<<endl;
valójában ez kart lenni:
cout<<tomb[j].id<<" "<<tomb[j].score<<endl;
(csak próbálgattam több tömbel és véletlen bennmaradt)
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!