5. gyakorlat
Kapcsolódó tananyagok¶
-
sztring kezelés
-
union
Órai feladatok¶
Órai segédletek
-
Mielőtt a képkezeléssel tovább foglalkoznánk, a kiinduló példa
main
metódusában határozzuk meg az input file kiterjesztését! A kiterjesztés a fájlnévben található utolsó pont utáni legfeljebb 3 karakter legyen! Tároljuk el továbbá a kiindulási fájlnév kiterjesztés nélküli változatát (azaz mindent töröljünk az esetleges ponttól)! Ezt egy legfeljebb 128 hosszú karaktertömbbel kezeljük! Ezek után pedig határozzuk meg amain
metódus folytatásában, mi legyen a kimenet neve! Ehhez használjuk a parancssoron kapott egyszerű nevet + a már meghatározott kép kiterjesztést! -
A kiindulási példában csak PGM típusú képeket kezelünk csak. Hozzunk létre az
imagePGM
típushoz hasonlóanimagePPM
típusokat a színes képek képpontjainak tárolására! A színek tárolását is külön struktúrával valósítsuk meg! -
Valósítsuk meg valamennyi PGM függvényt a PPM (színes) képekre! Azaz legyen beolvasó, kiíró, invertáló és memória felszabadító függvény! Próbáljuk is ki őket! Először csak a beolvasó, majd kiirató függvényeket írjuk meg és a memória felszabadítást, és teszteljük! Ha azok működnek, akkor az inverz függvényt is valósítsuk meg és teszteljük!
-
Készítsünk egy általános kép típust, amely képes mindkét fajta kép eltárolására!
-
Írjuk egy általános beolvasó függvényt, amely létrehoz a kép típusának megfelelő képet, amelyet utána be is olvas!
-
A kép típusától függően hívjuk meg a megfelelő inverz számítást és kiiratást!
Gyakorló feladatok¶
-
Olvass be egy maximum 127 karakteres szöveget (Ehhez egy 128 méretű
char
tömböt deklarálj!). Írj függvényt, amely a paraméterben átadott sztringed tényleges hosszát adja vissza! Próbáld minél többféle módon megvalósítani ezt a feladatot! -
Írj függvényt, amely eldönti, hogy az első paraméterében kapott sztringed tartalmazza-e a második paraméterben kapott sztringet. Ha igen, akkor az első előfordulás kezdőpozíciójával térj vissze, egyébként pedig -1-gyel!
-
Adottak síkidomok (kör, ellipszis, háromszög, négyzet, téglalap) a jellemző értékeikkel. Készíts egy tömböt ilyen alakzatok tárolására, olvasd be az adataikat, majd írd ki az összterületüket! Ezután írd ki mindegyik fajtából a legnagyobb területű síkidom kerületét! A főprogram csak az input/output műveleteket végezze, a számolást külön függvény(ek)ben oldd meg! Az adatok tárolására használj összetett adatszerkezetet, ha van értelme! (Tipp: háromszög területének meghatározásában segíthet az ún. Heron-képlet!)