Kihagyás

5. gyakorlat

Kapcsolódó tananyagok

  • sztring kezelés

  • union

Órai feladatok

Órai segédletek
  1. 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 a main 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!

  2. A kiindulási példában csak PGM típusú képeket kezelünk csak. Hozzunk létre az imagePGM típushoz hasonlóan imagePPM 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!

  3. 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!

  4. Készítsünk egy általános kép típust, amely képes mindkét fajta kép eltárolására!

  5. Í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!

  6. 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

  1. 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!

  2. Í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!

  3. 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!)