Zad. 1.
Wyjaśnić szczegółowo różnicę w przydzielaniu i zwalnianiu pamięci
zgodznie z poniższymi schematami:
Schemat 1.
int ** tabX = new int*[n]; for (int i=0; i<n; ++i) tabX[i] = new int[m];
for (int i=0; i<n; ++i) delete tabX[i]; delete [] tabX;
Schemat 2.
int ** tabX = new int * [n]; tabX[0] = new int[n*m]; for (int i=1; i<n; ++i) tabX[i] = tabX[i-1]+m;
delete [] tabX[0]; delete [] tabX;
Zad. 2. Zadanie to jest identyczne jak zadanie 1 z poprzedniej listy, ale dotyczy zmiennych dynamicznych. Napisać program wykonujący działanie na macierzach dynamicznych. Każde działanie powinno znajdować się w odrębnej funkcji (procedurze):
Zad. 3. Z platformy moodle pobrać kod programu: zm_dynam6.zip. Uruchomić i omówić działanie programu.
Zad. 4. Z platformy moodle pobrać kody programów: menu.zip. Uruchomić i omówić działanie programów.
Zad. 5. Napisać program, który czyta plik tekstowy. Przeczytany tekst szyfruje szyfrem ga-de-ry-po-lu-ki oraz zaszyfrowny tekst zapisuje do nowego pliku. Szyfrowanie polaga na zastąpieniu w łącuchu oryginalnych liter ich literami-partnerami z pary. Na przykład: "ala ma asa." po zaszyfrowaniu daje: "gug mg gsg.". Jak powinna wyglądać funkacja deszyfrująca? Dla ułatwienia należy się ograniczyć do tekstów pisanych małymi literami, bez polskich znaków diakrytycznych.