Házi feladat

3100-M mentorválasztás

Általános leírás

Törekedj arra, hogy szép, áttekinthető kódot írj! Úgy oldd meg a feladatokat, hogy függvényeket használsz a megoldáshoz! A felhasznált függvényekben ne történjen konzolra való kiírás!

Mindegyik feladatban nagyon fontos, hogy bár egyetlen inputfájlt kapsz, úgy írd meg a programod, hogy bármilyen, a feladatkiírásnak megfelelő inputfájllal működjön!

3.100-M Mentorválasztás

Az iskola NYF osztályos tanulói mellé a 9F osztályból választanak mentorokat. A cél, hogy minden mentorált olyan kilencedikes segítségét kapja, aki az előző évben, NYF-esként hasonló tanulmányi eredménnyel indult. Ezért mindkét évfolyamnál az NYF-es tanév novemberéig szerzett jegyek átlagát hasonlítjuk össze. A kilencedikeseknél tehát nem a mostani, hanem az egy évvel korábbi átlag szerepel.

Az input.txt UTF-8 kódolású fájl egy tanulói adattáblát tartalmaz. Az első sor mezőneveket tartalmaz, minden további sor egy tanuló adatait adja meg, pontosvesszővel elválasztva, az alábbi sorrendben: vezetéknév; keresztnév; évfolyam; jegyátlag. Az évfolyam értéke NY vagy 9: az előbbi az NYF, az utóbbi a 9F osztály tanulóit jelöli. A jegyátlag 1,00 és 5,00 közötti érték, amely a fájlban tizedesponttal, pontosan két tizedesjeggyel szerepel. A névmezők szóközt is tartalmazhatnak, de pontosvesszőt vagy sortörést nem; a mezők nincsenek idézőjelezve. A sorok sorrendje tetszőleges. Feltételezheted, hogy mindkét osztályból legalább egy tanuló szerepel a fájlban.

  1. Olvasd be az adatokat, és rendelj minden NYF-es tanulóhoz pontosan egy 9F-es mentort! Mindig azt a kilencedikest válaszd, akinek a megadott jegyátlaga a legközelebb esik a mentorált jegyátlagához! A közelséget a két jegyátlag különbségének abszolút értéke alapján mérjük. Ugyanaz a kilencedikes több tanuló mentora is lehet, és nem szükséges, hogy minden kilencedikes kapjon mentoráltat. Ha több mentor is ugyanolyan közeli átlaggal rendelkezik, közülük a vezetéknév, majd a keresztnév szerint magyar ábécérendben elsőt válaszd! Teljes névazonosság esetén a bemeneti fájlban előbb szereplő tanulót válaszd. A megoldáshoz használd fel a rendezést! Készíts függvényt, amely egy NYF-es tanulóhoz visszaadja a kiválasztott mentort! Írd ki a képernyőre a mentorált–mentor párokat: soronként a mentorált teljes nevét és jegyátlagát, majd a mentor teljes nevét és jegyátlagát! A párok a mentoráltak vezetékneve, majd keresztneve szerint magyar ábécérendben kövessék egymást; teljes névazonosság esetén a bemeneti sorrend döntsön. A jegyátlagokat két tizedesjeggyel jelenítsd meg!

Például az alábbi bemenet esetén:

Vezeteknev;Keresztnev;Evfolyam;Atlag
Kovács;Anna;NY;4.20
Nagy;Bence;9;4.10
Tóth;Eszter;NY;3.60
Kiss;Dániel;9;3.50
Szabó;Fanni;NY;4.15
Varga;Gergő;9;4.30
Balogh;Hanna;9;3.70
Farkas;Júlia;9;4.90

A hozzá tartozó kimenet:

Kovács Anna (4,20) – Nagy Bence (4,10)
Szabó Fanni (4,15) – Nagy Bence (4,10)
Tóth Eszter (3,60) – Balogh Hanna (3,70)

Kovács Anna átlagához Nagy Bence és Varga Gergő átlaga egyformán közel van; a névsorrend miatt Nagy Bence lesz a mentora. Tóth Eszter esetében Balogh Hanna és Kiss Dániel között ugyanez a szabály dönt. Nagy Bence két mentoráltat is kap, míg több kilencedikesnek nem jut mentorált.