C++: Tablice dwuwymiarowe
Tablica, o której pisałem w poprzednim artykule, nie musi być tylko i wyłącznie jednowymiarowa, może posiadać dwa, trzy, cztery i więcej wymiarów.
Tablica dwuwymiarowa jest to tak naprawdę taka tablica jednowymiarowa, która w każdej komórce zawiera kolejną tablicę jednowymiarową. Analogicznie jest z tablicami o większej liczbie wymiarów.
Dwuwymiarową tablicę łatwo sobie wyobrazić, a wygląda ona następująco:
Jak widzimy – graficzne przedstawienie tablicy dwuwymiarowej to tabelka, bardziej prawidłowo zwana macierzą n x m. Obrazek przedstawia tablicę, w której oba wymiary są równe, a więc ma tyle samo wierszy i kolumn, jednak nie znaczy to, że nie mogą być różne.
Tablicę dwywymiarową tworzymy w następujący sposób:
int test[4][7];
Pierwsza z podanych w nawiasach kwadratowych liczb jest to ilość wierszy, druga ilość kolumn.
Podobnie jak w tablicy jednowymiarowej możemy odwołać się do pojedynczej komórki tablicy, aby na przykład pobrać jej zawartość czy coś tam wpisać.
Poniższe przykłady zobrazują sposób, w jaki należy tego dokonać:
cout<<test[3][1]; // wypisanie zawartości komórki leżącej w 4 wierszu oraz 2 kolumnie test[5][3] = 17; // wprowadzenie liczby 17 do wybranej komórki tablicy
Możemy również wypisać zawartość całej tablicy dwuwymiarowej. Dokonamy tego za pomocą pętli, w następujący sposób:
for( int i = 0; i < 4; i++){ for( int j=0; j< 7; j++ ){ cout<<test[i][j]<<" "; } cout<<endl; }
Mamy do czynienia z zagnieżdżoną pętlą for, gdzie zewnętrzna przechodzi po kolejnych wierszach, wewnętrzna, po kolejnych kolumnach w danym wierszu tablicy.
Dodatkowe elementy wypisania, takie jak ” ” oraz endl zostały użyte tylko i wyłącznie w celu czytelniejszego wyświetlenia zawartości tablicy w postaci przejrzystej tabelki.