BevProg Géptermi ZH, 2011.12.22.
1.feladat
A mellékelt beugro_a illetve beugro_b program kiegészítése, hogy minden pontot megadjon a program. A programban már adott szöveget nem szabad módosítani, kizárólag a kommentjelzést szabad eltávolítani a main() függvényből. Munka közben javasolt folyamatosan haladni ellenoriz() függvényenként a kommentezés eltávolításával. A beugró akkor érvényes, ha minden pontot megkaptál, és nincs semmilyen módosítás a main() függvényben és az ellenoriz() makróban, illetve tilos új #define leírása is.
Figyelem: beugró nélkül nem értékeljük a második feladatot!
2.feladat
Adott egy fájl, amiben a Mikulás “útikönyve” található. A fájl formátuma CSV (Comma-separated values, vesszővel elválasztott értékek). Tartalmaz egy fejlécet, amiben az egyes mezők nevei vannak, majd minden sora ilyen:
2011.12.06. 1:52:21,2011.12.06. 1:55:33,1,Pécs;Munkácsy;11,kis autó
tehát érkezés időpontja, indulás időpontja, cím, ajándék
Ha valakinél több gyerek van akkor ugyanazzal a címmel több ajándékot is otthagy és ezt egy új sorban jegyzi. pl.:
Érkezés, Indulás, cím, ajándék
2011.12.06. 1:52:21,2011.12.06. 1:55:33,Pécs;Munkácsy;11,kis autó
2011.12.06. 1:52:21,2011.12.06. 1:55:33,Pécs;Munkácsy;11,baba
2011.12.06. 1:56:12,2011.12.06. 1:58:24,Kóka;Kiss Ernő;5,kiskutya
Feladatok:
a)
Adj egy óránkénti jelentést a következő adatokkal: hány kisautót illetve kiskutyát ajándékozott. Add meg a lakcímek sorrendjét ahol a Mikulás járt és babát hozott(a fájlban található sorrendben).
b)
Néhány esetben előfordult, hogy a Mikulás véletlenül elfelejtett átadni egy ajándékot, emiatt vissza kellett mennie. Keresd meg azokat a címeket, ahol kétszer is járt a Télapó! Vigyázat! Előfordul, hogy nagy sietségében nem figyelt oda, hogy a neveket kis vagy nagy betűvel írta.
c)
Az ajándék.txt-ben megtalálható az ajándékok listája és a tömegük. A program ellenőrizze, hogy lehetséges-e, hogy a Mikulás 4 db 25 kg kapacitású zsákban vigye az ajándékokat, úgy hogy az egy településre szántak egy zsákban legyenek akkor, ha az algoritmus az, hogy a legkönnyebb csomagokat addig tesszük egy zsákba, amíg elférnek? (példa: Településekre vitt ajándékok súlya emelkedő sorrendben 5 7 10 11 11 12 12 12, ilyenkor 5+7+10=22 az első zsákba, 11+11=22 a második zsákba, 12+12=24 a harmadik zsákba, 12 a negyedik zsákba, tehát elférnek.)
Plusz pontért ügyesebb algoritmust is írhatsz.
Pontozás
A pontozás gyakorlatvezetőnként eltérő lehet, egy irányadó pontozási forma a következő: 10 pont a sikeres beugró, az a) b) c) feladatok működése 10-10-10 pont, a második feladatban használt függvények eleganciája 10 pontig, a rekordok értelmes tervezése szintén 10 pontig értékelhető, de összesen nem lehet több, mint az a) b) c) működésre adott pontok összege - nem lehet nem működő programra pontot kapni, csak mert szép.