A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. A világon sokfelé létezik olyan webhely, amely felhasználóik könyveinek csereberéjét hivatott segíteni. Hazánkban is próbálkoznak ilyennel (www.rukkola.hu), de a sikeres működéshez kellően sok felhasználó szükséges. A regisztrálók bejelölhetik, mely könyveket ajánlják fel és mely könyveket igénylik. A weblap segít az igények kielégítésében az ajánlatok alapján. A honlapunkról letölthető csere.txt állomány az ajánlatok és igények adatait tartalmazza időrendben, soronként egynek-egynek a rögzítésével. A soron belül az egyes értékeket pontosan egy szóköz választja el. Az első érték az adott könyvvel kapcsolatos művelet (A ‐ ajánlat, I ‐ igény), majd a rögzítés napja (a szolgáltatás indulásától számított napok száma, legfeljebb 100) szerepel, aztán a könyv, végül a felhasználó azonosítója (mindkettő legfeljebb 200) látszik. (A könyvazonosító nem egy konkrét példányt jelöl, hanem a tartalmat határozza meg.) A fájlban legfeljebb 2000 adatsor található. A csere.txt állomány első néhány sora:
Írjunk programot (i301.pas, i301.cpp, ) néven, amely megoldja az alábbi feladatokat. Az egyes feladatok megoldása előtt jelenítsünk meg a képernyőn a feladat sorszámát tartalmazó szöveget (például: 4. feladat), a beolvasás előtt pedig a beolvasás tartalmára vonatkozó üzenetet (például: ,,Add meg egy könyv azonosítóját!''). Az ékezet nélküli kiírás is megengedett.
1. | Olvassuk be és tároljuk el a csere.txt állomány adatait a későbbi feladatok megoldásához szükséges formában. |
2. | Írjuk a képernyőre a fájlban található igénylések és ajánlatok darabszámát. |
3. | Kérjük be egy könyv azonosítóját és írjuk a képernyőre, ki és mikor igényelte először. Ha ezt a könyvet még nem igényelte senki, akkor az ,,Ez a könyv még nem szerepelt igénylésben.'' szöveget írjuk ki. |
4. | Írjuk a legnépszerűbb (legtöbb személy által igényelt) könyv azonosítóját a képernyőre. Ha ,,holtverseny'' alakul ki, mindet jelenítsük meg, egymástól szóközzel elválasztva. Az azonosító mögött zárójelben tüntessük fel az igénylők számát is. Például: 18 (21) 3 (21). |
5. | Azt mondják, hogy az ilyen weblapokon mindenki több könyvet szerepeltet az igénylési listáján, mint amennyit felajánl. Vajon ez tényleg így van? Határozzuk meg a rendelkezésre álló adatok alapján, hogy kik azok, akik legalább annyi könyvet igényelnek, mint amennyit felajánlanak. Jelenítsük meg a képernyőn az ő azonosítójukat egy sorban, egymástól egy-egy szóközzel elválasztva. |
6. | Az igényléseket olyan módon állítják párba az ajánlatokkal, hogy az első igénylőhöz juttatják el az adott könyv első felajánlott példányát. Írjuk a képernyőre annak a könyvnek az azonosítóját, amely először talált új gazdára, valamint azt, hogy hány napot kellett várnia az igénylőnek erre. |
7. | Határozzuk meg a könyvek útját. Rögzítsük a mozgas.txt fájlban soronként az egyes ,,könyvmozgásokat''. A sor első eleme a nap sorszáma legyen, amikor sikerült megtalálni az igénylés párját, azaz amikor egy könyv ajánlata és igénye párba került. A második helyen a könyv azonosítója szerepeljen, aztán a felajánló, majd végül az igénylő sorszáma álljon. A soron belül ezeket az értékeket egy-egy tabulátorral válasszuk el egymástól. A fájlon belül a megjelenítés sorrendje tetszőleges lehet. |
Beküldendő a program forráskódja (i301.pas, i301.cpp, ), valamint a program rövid dokumentációja (i301.txt, i301.pdf, ), amely megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható. |