Utolsó módosítás: 2009. március 26.
Ebben a feladatban ki kell válogatni egy zárthelyi eredménylistájából azokat a hallgatókat, akik az átlagos pontszámnál jobb zárthelyit írtak.
A program a standard bemenetről beolvas néhány (legalább 2, legfeljebb 120) sort, mindegyik sor egy hallgatóhoz tartozik, aki egy bizonyos (képzeletbeli) zárthelyit megírt. Minden sorban először a hallgató által elért pontszám áll (egy 0 és 200 közötti egész szám), majd egy szóköz, majd a hallgató teljes neve (legfeljebb 60 karakter, állhat két vagy három szóból), majd egy újsor karakter.
A kimenetbe pontosan azon hallgatók nevét kell kiírni, akiknek a pontszáma magasabb, mint az összes megadott pontszám átlaga (számtani közepe). A hallgatók a kimenetben ugyanolyan sorrendben szerepeljenek, mint a bemenetben.
Itt egy rövid példa. A bemenet a következő.
148 Váradi Piroska Júlia 120 Szabó Annamária 192 Katona Csaba 31 Sándor Richárd 70 Pintér Györgyi 107 Váradi Dorottya 165 Szilágyi Erika 119 Hegedüs Bernadett
Ekkor az átlagos pontszám pontosan 119, ezért az ennél magasabb pontszámú hallgatókat kell kigyűjteni. A kimenet így a következő.
Váradi Piroska Júlia Szabó Annamária Katona Csaba Szilágyi Erika
Vegye észre, hogy azt a hallgatót, aki pontosan az átlagot érte el, nem szabad kiírni, és hogy a pontszámokat a kimenetbe szintén nem szabad kiírni.
Ezt a bemenetet, és még két másikat le lehet tölteni a (remélem) helyes kimenettel együtt innen.
Adok néhány tippet. Nyilvánvalóan az összes nevet el kell tárolni a memóriában, mert hiszen az átlagot csak az utolsó sor után tudjuk kiszámítani. Ezt lehet vagy úgy csinálni, mint a gyakorlaton látott h7g0.c programban, amely megfordítja a bemeneten megadott sorokat, vagy malloc-kal, de másképpen is lehet, például két dimenziós tömbbel. A sorok elejéről ki kell nyerni és eltávolítani a pontszámot, ezt megteheti a scanf függvénnyel vagy az sscanf függvénnyel (az egész sor beolvasása után), de minden esetben vigyázzon, hogy a pontszám utáni szóközt is nyelje el. Vigyázzon arra, hogy az átlaggal helyesen hasonlítson össze, akkor is, ha ez nem egész szám.
A megoldást e-mailben küldje el az
címre.
Az emailben csatolmányként küldje el a megoldáshoz használt forráskódot,
és írhat bármilyen megjegyzéseket, amit a megoldással kapcsolatban lényegesnek talál.
Az emailben feltétlenül adja meg a nevét, nem szeretnék névtelen házi feladatokat azonosítani.
Írja továbbá az emailbe az "info2" szöveget, valamint a feladat rövid nevét,
jelen esetben azt, hogy "válogatás", hogy könnyebben szét tudjam válogatni a feladatokat.
Ha a feladathoz bármilyen kérdése van, vagy elakad a megoldással, akkor keressen meg emailben vagy személyesen, akár a gyakorlaton, akár azon kívül.
A feladatot 2009. március 26-án illetve 27-én tűzom ki. A megoldás határideje ehhez képest két hét, vagyis április 10. péntek (aznap még be lehet küldeni).