Informacje o nowych artykułach oraz akcjach edukacyjnych prosto na Twojej skrzynce e-mail!

Jak pomieścić wszystkie dane? Czyli tablice dwuwymiarowe w C++

Tablice dwuwymiarowe to nieco bardziej rozbudowane tablice jednowymiarowe. Tworzy się je w następujący sposób:

typ_danych_jakie_bedziemy_przechowywac nazwa_tablicy[ilosc_wierszy][ilosc_kolumn];
const int m = 21;
char tablica[23][m]; //tablica o rozmiarze 23x21 przechowująca dane typu char
int tablica[10][10] //tablica o rozmiarze 10x10 - jej strukturę możesz zobaczyć niżej

Zadeklarowana powyżej tablica dwuwymiarowa wizualnie będzie wyglądać tak (UWAGA: Indeksowanie kolumn oraz wierszy w tablicach rozpoczynamy od 0):

X[0][0] X[0][1] X[0][2] X[0][3] X[0][4] X[0][5] X[0][6] X[0][7] X[0][8] X[0][9]
X[1][0] X[1][1] X[1][2] X[1][3] X[1][4] X[1][5] X[1][6] X[1][7] X[1][8] X[1][9]
X[2][0] X[2][1] X[2][2] X[2][3] X[2][4] X[2][5] X[2][6] X[2][7] X[2][8] X[2][9]
X[3][0] X[3][1] X[3][2] X[3][3] X[3][4] X[3][5] X[3][6] X[3][7] X[3][8] X[3][9]
X[4][0] X[4][1] X[4][2] X[4][3] X[4][4] X[4][5] X[4][6] X[4][7] X[4][8] X[4][9]
X[5][0] X[5][1] X[5][2] X[5][3] X[5][4] X[5][5] X[5][6] X[5][7] X[5][8] X[5][9]
X[6][0] X[6][1] X[6][2] X[6][3] X[6][4] X[6][5] X[6][6] X[6][7] X[6][8] X[6][9]
X[7][0] X[7][1] X[7][2] X[7][3] X[7][4] X[7][5] X[7][6] X[7][7] X[7][8] X[7][9]
X[8][0] X[8][1] X[8][2] X[8][3] X[8][4] X[8][5] X[8][6] X[8][7] X[8][8] X[8][9]
X[9][0] X[9][1] X[9][2] X[9][3] X[9][4] X[9][5] X[9][6] X[9][7] X[9][8] X[9][9]

Oczywiście nie będzie zawierała ona żadnych danych.

Do odczytu i zapisu danych w tablicach dwuwymiarowych używa się zagnieżdżonych pętli iteracyjnych FOR. Prześledźmy na przykładzie jak to się odbywa:

#include <iostream>

using namespace std;

int main() {

     int tab[8][6]; //tworzymy tablicę typu int o wymiarach 8x6

     for(int i = 0;i<8;i++)
           for(int j = 0;j<6;j++)
                 cin >> tab[i][j];

     for(int i = 0;i<8;i++)
           for(int j = 0;j<6;j++)
                 cout << "tab[" << i << "][" << j << "]: " << tab[i][j];

     return 0;
}

Zapis danych:

for(int i = 0;i<8;i++)
           for(int j = 0;j<6;j++)
                 cin >> tab[i][j];

Odczyt danych:

for(int i = 0;i<8;i++)
           for(int j = 0;j<6;j++)
                 cout << "tab[" << i << "][" << j << "]: " << tab[i][j];

Do odczytu i zapisu danych używaliśmy dwóch zagnieżdżonych pętli iteracyjnych FOR w przypadku tablic trójwymiarowych, używalibyśmy trzech zagnieżdżonych pętli FOR, a w przypadku tablic czterowymiarowych czterech (tablic czterowymiarowych i wyższych praktycznie nie używa się w programowaniu).

Spodobało się?

Jeśli tak, to zarejestruj się do newslettera aby otrzymywać informacje nowych artykułach oraz akcjach edukacyjnych. Gwarantuję 100% satysfakcji i żadnego spamowania!

, ,

Dodaj komentarz

Odpowiedz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Pin It on Pinterest