Feladat: I.244 Korcsoport: 14-15 Nehézségi fok: -
Füzet: 2010/szeptember, 354 - 356. oldal  PDF  |  MathML 
Témakör(ök): Feladat

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.

Geometrikus elemekből álló és kevés színt tartalmazó ábrákat tömörítve tárolunk. Minden egyes sorról csak azt tartalmazza a tömörített állomány, hogy mi változott az előző sorhoz képest. Ha egy sor megegyezik az előzővel, akkor a tömörített állományban erről nem szerepel bejegyzés.
A honlapunkról letölthető zaszloX.be állomány első sorában a kép sorainak száma, N (1N100) és oszlopainak száma, M (1M100) van. A következő sorok a kódolt képet tartalmazzák, soronként és azon belül oszloponként növekvő sorrendben. Az első szám a tömörítetlen kép megfelelő sorát jelenti, a második és a harmadik szám kezdő és végpozíciót, amelyen belül a negyedik nagybetű szerepel.

 
Például:
 
zaszlo5.beAz eredeti kép (a dán zászló)  7 10    P P P F P P P P P P  1 1 3 P    P P P F P P P P P P  1 4 4 F    P P P F P P P P P P  1 5 10 P    F F F F F F F F F F  4 1 3 F    P P P F P P P P P P  4 5 10 F    P P P F P P P P P P  5 1 3 P    P P P F P P P P P P  5 5 10 P  
 

Készítsünk programot i244 néven, amely az alábbi problémákat oldja meg, a parancssor első argumentumaként megadott zaszloX.be állományban talált adatok felhasználásával.
Minden részfeladat megoldása előtt írja a képernyőre a feladat sorszámát (például 3. feladat: ).
1.Olvassuk be és megfelelő adatszerkezetben tároljuk el a bemeneti adatállomány tartalmát.
2.Állítsuk elő és írjuk ki a képernyőre a tömörítetlen ábrát. A betűk között egy-egy szóköz legyen.
3.Írjuk ki, hogy melyik színből (betűből) hány darab van az ábrán.
4.A parancssor második argumentumaként megadott kimeneti zaszloX.ki állományba másik tömörítési módszerrel mentsük el az ábra kódját. Az N soros ábra tömörített állománya N sorból álljon. Minden sorban szóközzel elválasztva egy-egy színt megadó nagybetű és az egymás utáni ismétlődések száma következik.
Például a fenti dán zászló tömörítve:
 
zaszlo5.ki  P 3 F 1 P 6    P 3 F 1 P 6    P 3 F 1 P 6    F 10    P 3 F 1 P 6    P 3 F 1 P 6    P 3 F 1 P 6  
 

5.A program kérje be az ábra egy pontjának koordinátáját és írja ki annak a színét és azt, hogy mekkora azonos színű összefüggő területhez tartozik. A színezés csak oldalszomszédos egyezőség esetén összefüggő.
6.Jelenítsük meg a képernyőn kétszeres méretben az ábrát, azaz az eredeti ábra minden pontjának, betűjének vízszintesen és függőlegesen is két-két betű feleljen meg.

Beküldendő a feladat megoldását tartalmazó forrás és projektállományok (az .exe és más a fordító által generált kiegészítő állományok nélkül), valamint a megoldás menetét röviden bemutató dokumentáció (i244.txt, i244.pdf, ...) egy tömörített mappában (i244.zip).