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:

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

    1. Töltse be a bitmapet!
    2. 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!
    3. 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)!
    4. Az eredményként keletkezett 600x600-as bitmapet mentse le space_new.bmp néven!
  2. 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.