Korszerű Információs Rendszerek
Beadandó feladat
Feladat megoldáshoz névkonvenciók:
neptunkod.c + neptunkod.bmp
A programoknak egy szálon kell futniuk. A lényegi algoritmushoz AVX2-t kell használni.
A 192.168.110.3 gépen kell futniuk a programoknak, ott lesznek ellenőrizve.
Ezen a gépen megtalálható a feladatokhoz szükséges floats.2gb.bin és space_2.bmp a gyökérben.
A következő feladatokat (mindkettőt) kell megoldani:
- Adott egy BMP file (ami egy tömörítetlen képformátum): space_2.bmp. A mellékelt bitmapben a 0x36 byte-tól kezdve vannak tárolva a pixeladatok BGR (3*8bit) egeszen a file végéig. A memóriában eredményként létrejött bitmap-et mentse el "space_new.bmp" néven. Ügyeljen arra, hogy a kimeneti BMP file header-jében a felbontást is at kell írni!
Bitmap formátum
Készítsen egy programot (1 db .c file) amely a következő műveleteket hajtja végre:
- Töltse be a bitmapet!
- A space_2.bmp bitmap mérete 1200x1200 pixel, ezért ezt kicsinyítse le 600x600-ra úgy, hogy vertikálisan (EGYMÁS ALATTI pixelekre nézve) az értékeket átlagolja, horizontálisan (EGYMÁS MELLETTI pixelekre nézve) pedig minden második pixelt tartson meg!
- Az átméretezett space_2 bitmap minden pixelének színét invertálja (cserélje ki az inverzére: fehér -> fekete, fekete -> fehér)!
- Az eredményként keletkezett 600x600-as bitmapet mentse le space_new.bmp néven!
- Adott egy 2GB méretű float-okbol álló tömb (192.168.110.3:/floats.2gb.bin). A feladat az, hogy a tömb elemei közül egy c programmal (1 db .c file) számolja meg hány 2500-nál nagyobb elem van (kb. 134226810) és írja ki a képernyőre az eredményt!
A kész feladatot (2 db c forráskód) Soós Róbertnek kell elküldeni e-mailben (robert.soos@uni-miskolc.hu), legkésőbb november 5. 23:59-ig. Szükség esetén e-mailben lehet segítséget kérni.