test Erase: spravne volani 4x

test Erase: spravne volani - vicekrat nez je radku

test Load: chybne vstupni parametry

test Load: nacitani testovaciho pole

test Load: nacitani korektniho pole

test Print: rozmery, pole

test Print: kvalita tisku

test Print: test manipulace s pameti

test DU: vstupy / pocet parametru, otevreni souboru

CHECKER: CHYBA

------------------------------

Soubor xxxas.txt se nepodarilo otevrit

-------------------------------------------------------------------------------

Lokace chyby:

Zdrojovy soubor:radek: c:\du2main.c:23

Volani funkce: DU()

test DU: korektni volani

test DU: uniky pameti

test DU: vysledek

Pocet bodu 100 %

Kontrolni funkce konec



Konec programu.





CHECKER: KONTROLNI VYPIS

===============================================================================

VYPIS ALOKOVANE PAMETI

Celkovy pocet alokaci pameti v programu: 98
Celkovy pocet uspesnych uvolneni pameti v programu: 98
Spickove mnozstvi alokovane pameti pri behu programu: 2520 bytu.
Alokovano celkem 6132 bytu, uvolneno 6132 bytu
Vsechna dynamicka pamet programu byla bez chyby uvolnena. :-)

-------------------------------------------------------------------------------

PREHLED OTEVRENYCH SOUBORU
Pocet otevrenych souboru: 11
Pocet uzavrenych souboru: 11
NEUZAVRENYCH ZUSTAVA 0 SOUBORU

Vsechny soubory byly bez chyby uzavreny









DU - zadání                                                          v1.00

Napište program, který bude obsahovat funkce, které:

a)       vytvoří a zruší dynamicky alokované dvourozměrné pole,

b)      načte hodnoty do dynamicky alokovaného pole ze souboru,

c)       vytiskne 2D pole,

d)      provede jednoduchý úkon s 2D polem (vypustí první řádek)

Program napište tak, aby bylo možné měnit datový typ, které pole obsahuje (datový typ pole bude dán pomocí typedef  DATA_TYPE  nebo #define DATA_TYPE xxx, kde pro účely kontrol a ladění bude xxx typ double. Příkazy define/typedef se umísťují do hlavičkového souboru).



Přidání testovacích souborů:

Do aktuálního adresáře nakopírujte soubor check.h, kontrola.h a DU2_lib.lib a testovací soubory *.txt.

Do (překladu) projektu je nutné vložit knihovnu DU2_lib.lib. To je možné přímo vložením do sekce „Resource Files“ projektu v solution exploreru.  Druhou možností (složitější, ale u složitějších projektů vhodnější) je do parametru projektu properties/linker/input/additionalDependencies přidat jméno knihovny, to je DU2_lib.lib. Dále pokud by knihovny byly v jiných adresářích, je nutné tyto adresáře nastavit v parametru projektu properties/configurationProperties/vc++directories/LibraryDirectories.
Připojená knihovna začne „fungovat“ (půjde bez chyb přilinkovat k programu) až v okamžiku, kdy budete mít nadefinovány všechny požadované funkce (prozatím prázdné). Nyní si tedy přečtěte zadání a vytvořte základ budoucích funkcí – hlavičky funkcí s prázdnými tělíčky.





a)      Funkce EraseFirst – uvolní (odalokuje) první řádek pole, ostatní posune (odebere první řádek a následně na jeho místo přesune druhý, na místo druhého třetí …, na „poslední“ se dá NULL (=přealokace pole na kratší se neprovádí). V případě, že je první řádek úspěšně uvolněn, vrací hodnotu nula. (Jinak) Při chybných vstupních parametrech vrací hodnotu 1. Vyberte nejvhodnější prototyp funkce (Funkce bude mít pouze parametry (=co nejméně parametrů), které dostačují k požadované činnosti. Jak u rozměru, tak u „pole“ dat probíhá manipulace pouze s řádky, změny se musí projevit vně funkce (= musí se změnit y rozměr matice i vně funkce)):
int EraseFirst(DATA_TYPE **pole, int x, int y)
int EraseFirst(DATA_TYPE **pole, int x)
int EraseFirst(DATA_TYPE **pole, int y)
int EraseFirst(DATA_TYPE ***pole, int x, int y)
int EraseFirst(DATA_TYPE ***pole, int x)
int EraseFirst(DATA_TYPE ***pole, int y)
int EraseFirst(DATA_TYPE **pole, int *x, int *y)
int EraseFirst(DATA_TYPE **pole, int *x)
int EraseFirst(DATA_TYPE **pole, int *y)