Kezdőoldal » Számítástechnika » Programozás » Emelt informatika érettségi...

Emelt informatika érettségi programozás feladatban segítség?

Figyelt kérdés

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.


2018. ápr. 22. 10:41
 1/7 anonim ***** válasza:
Javaslom a struktúrát erre a célra.
2018. ápr. 22. 11:07
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

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;

};

2018. ápr. 22. 11:47
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

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;

2018. ápr. 22. 12:15
 4/7 A kérdező kommentje:

í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?

2018. ápr. 22. 12:36
 5/7 A kérdező kommentje:

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)

2018. ápr. 22. 12:37
 6/7 A kérdező kommentje:
Már tárgytalan a dolog. Sikerült megoldanom.
2018. ápr. 22. 13:17
 7/7 anonim ***** válasza:
Egy tipp, ha legközelebb elakadnál: használj pastebin-t, ha küldeni akarsz konkrét kódot valakinek. Így simán bemásolva olvashatatlan az egész, csak a másik fél dolgát nehezíted vele.
2018. ápr. 22. 17:49
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!