multidimensional arrays c
Rola wielowymiarowej tablicy w C ++ z przykładami.
Do tej pory, w naszych wcześniejszych samouczkach, widzieliśmy wszystko o jednowymiarowych tablicach.
C ++ obsługuje również tablice z więcej niż jednym wymiarem. Są to tak zwane tablice wielowymiarowe. Tablice wielowymiarowe są zwykle ułożone w formie tabelarycznej, tj. W porządku głównym w wierszach.
=> Poszukaj całej serii szkoleń C ++ tutaj.
Czego się nauczysz:
Tablice wielowymiarowe w C ++
Rozważmy wielowymiarową tablicę wymiarów 3 × 2, tj. 3 wiersze i 2 kolumny.
Reprezentujemy tę tablicę w następujący sposób:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Jak pokazano na powyższej reprezentacji, każda komórka Na przykład. R1C1 będzie przechowywać zawartość tablicy.
Liczba elementów występujących w wielowymiarowej tablicy jest iloczynem jej wymiarów. Oznacza to, że jeśli wymiary tablicy są 3 × 2, to liczba elementów w tej tablicy jest iloczynem 3 i 2, czyli 6. Podobnie, jeśli wymiary tablicy wielowymiarowej wynoszą (10) (20) (10) wtedy liczba elementów w tej tablicy wynosi 10 * 20 * 10 = 2000.
Tablica dwuwymiarowa jest najprostszą formą tablicy wielowymiarowej używanej w C ++.
Deklarowanie tablicy
Ogólna deklaracja tablicy wielowymiarowej w C ++ jest pokazana poniżej:
dataType arrayName (size1)(size2)….(sizen);
Tutaj dataType jest typem danych tablicy. Typ danych powinien być obsługiwany przez C ++.
nazwa tablicy to nazwa tablicy wielowymiarowej.
Rozmiar1, rozmiar2… .sizen to rozmiary każdego z wymiarów tablicy.
Na przykład,zadeklarujmy tablicę o rozmiarze 3 × 2, tj. dwuwymiarową tablicę myarray_2d.
int myarray_2d (3)(2);
Dwuwymiarowa tablica jest reprezentowana w postaci wierszy i kolumn.
Zatem powyższą deklarację tablicy można przedstawić następująco:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Jak pokazano na powyższej ilustracji, każdy element dwuwymiarowej tablicy jest dostępny jako myarray_2d (i) (j), gdzie i jest numerem wiersza i mieści się w zakresie od 0 do n-1, gdzie n to rozmiar wymiaru, a j to numer kolumny i mieści się w zakresie od 0 do m-1, gdzie m to rozmiar wymiaru kolumny.
Inicjowanie tablic wielowymiarowych
Możemy zainicjować tablice wielowymiarowe podobne do tablic jednowymiarowych. Tablice wielowymiarowe są inicjowane wierszami.
Istnieją dwa sposoby inicjalizacji tablic wielowymiarowych.
# 1) Rozważ tablicę o wymiarach (3) (2) o nazwie myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Tutaj inicjalizacja tablicy odbywa się od lewej do prawej, wiersz po wierszu. Ponieważ wymiary wynoszą (3) (2), pierwsze dwa elementy utworzą pierwszy rząd i tak dalej.
Graficzne przedstawienie tej inicjalizacji będzie wyglądać tak, jak pokazano poniżej:
1 | dwa |
3 | 4 |
5 | 6 |
# 2) Tę samą tablicę pokazaną powyżej można zainicjować w inny sposób, jak pokazano poniżej:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Tutaj inicjalizacja jest wykonywana od lewej do prawej, a każdy element odpowiada jednemu wierszowi. Ponieważ ta tablica ma trzy wiersze, mamy trzy elementy wewnętrzne ujęte w nawiasy klamrowe ({}).
Ten sposób inicjalizacji jest bardziej czytelny i jest korzystny, gdy wymiary tablicy rosną.
Dostęp do tablic wielowymiarowych
Dostęp do wielowymiarowych elementów tablicy uzyskuje się za pomocą indeksu wiersza i indeksu kolumny.
Zobaczmy przykład dwuwymiarowej tablicy o wymiarach (3) (3). Poniżej znajduje się kod do jego zainicjowania.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Jeśli chcę uzyskać dostęp do drugiego elementu w pierwszym wierszu i przypisać go do zmiennej całkowitej, wiersz kodu będzie wyglądał następująco:
int val_2d = newarray(0)(1);
Poniżej znajduje się przykładowy program, który pokazuje deklarację, inicjalizację i dostęp do dwuwymiarowej tablicy.
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< Ten program generuje następujące dane wyjściowe:
1 2 3 4 5 6 7 8 9
Jak pokazano w powyższym programie, dwuwymiarowa tablica jest deklarowana, a następnie inicjalizowana. Następnie, aby uzyskać dostęp i wydrukować wszystkie elementy tablicy, ustawiliśmy dwie pętle for. Zewnętrzna pętla for umożliwia dostęp do elementów w wierszach. Wewnętrzna pętla for działa jako licznik dostępu do elementów w każdej kolumnie.
hp alm pytania i odpowiedzi do rozmowy kwalifikacyjnej
W ten sposób uzyskujemy dostęp do każdego elementu tej dwuwymiarowej tablicy i wyświetlamy go na ekranie.
Wniosek
Tablice wielowymiarowe mogą mieć dowolną liczbę wymiarów, a wraz ze wzrostem liczby wymiarów odpowiednio wzrasta również złożoność.
Chociaż używaliśmy dwuwymiarowych tablic we wszystkich powyższych przykładach, możemy kodować tablice o wyższych wymiarach w podobny sposób.
=> Kliknij tutaj, aby uzyskać bezpłatny kurs C ++.
rekomendowane lektury
- Tablice w STL
- Używanie tablic z funkcjami w C ++
- Tablice C ++ z przykładami
- Tablice VBScript: używanie funkcji DIM, REDIM, Split i Ubound Array
- Wstaw wiele dokumentów do MongoDB za pomocą tablic
- Najlepsza DARMOWA seria samouczków języka C #: najlepszy przewodnik po języku C # dla początkujących
- Java DataTypes, pętle, tablice, przełącznik i asercje
- Zaawansowane skrypty powłoki Unix: tablice, operatory testów plików i łańcuchów, zmienne specjalne