From MJanik
Tematem zajęć numer 4 będą tablice i wskaźniki. W szczególności dynamiczna alokacja pamięci dla tablic 1- i 2-wymiarowych.
Więcej informacji na ten temat można znaleźć na Wykładzie 2 Prof. Zbroszczyk (slajdy dostępne na MS Teams).
program w języku C++, który:
- Wczytuje liczbę n – rozmiar tablicy jednowymiarowej typu int.
- Dynamicznie alokuje tablicę jednowymiarową o rozmiarze n i wypełnia ją kolejnymi liczbami całkowitymi od 1 do n.
- Tworzy dynamicznie tablicę dwuwymiarową n × n, w której element [i][j] jest równy iloczynowi tab1[i] * tab1[j].
- Wypisuje tablicę dwuwymiarową w formie macierzy.
- Zwalnia całą zaalokowaną pamięć (delete[], delete[][]).
Przykład działania programu:
Podaj n: 3
1 2 3
2 4 6
3 6 9
Dynamiczne tworzenie tablic dwuwymiarowych w C++:
int **tab = new int* [5];
for (int i = 0; i < 5; ++i)
tab[i] = new int [10];
W ten sposób stworzono tablicę dwuwymiarową którą statycznie zadeklarowalibyśmy jako:
int tab[5][10];
Należy również zwolnić pamięć dla dynamicznie zadekladowanej tablicy:
for (int x = 0; x < 5; x++)
delete [] tab[x];
delete [] tab;