Wprowadzenie do tablic wielowymiarowych w C ++
Tablice wielowymiarowe w tablicach C ++ służą do przechowywania danych w formie tabeli wierszy i kolumn. Tutaj możemy tworzyć tablice jedno- lub wielowymiarowe do przechowywania wartości w różnych scenariuszach. Jednowymiarowy ma jeden wymiar, podczas gdy tablica wielowymiarowa może być 2-wymiarowa, 3-wymiarowa itp. Możemy myśleć o tablicy wielowymiarowej jako tablicy tablic. Tutaj dane są przechowywane w formie tabelarycznej. W tym artykule zobaczymy, co to jest tablica wielowymiarowa, zastosowanie tablicy wielowymiarowej, jak uzyskać do niej dostęp i jak efektywnie korzystać z tablicy wielowymiarowej w naszym kodzie.
Element tablicy wielowymiarowej w C ++
- Rozważmy przykład macierzy, aby zrozumieć tablicę wielowymiarową. W matrycy 2D będą wiersze i kolumny. Aby to przedstawić, stosujemy tablicę wymiarową 2D.
- W tablicach wielowymiarowych dane w postaci tabeli, czyli w kolejności rzędów głównych. Ogólna składnia dwuwymiarowej tablicy jest następująca.
data_type array_name(size1)(size2);
- Pamiętaj, że rozmiar jest zawsze dodatnią liczbą całkowitą. Poniżej znajduje się przykład trójwymiarowej tablicy.
int matrix(3)(5);
Tutaj macierz jest dwuwymiarową tablicą, zawierającą maksymalnie 15 elementów.
- Maksymalna liczba elementów zawartych w tablicy jest uzyskiwana przez pomnożenie wielkości wszystkich wymiarów. Na przykład w 3DArray (2) (3) (4) maksymalny element jest uzyskiwany przez pomnożenie 2, 3, 4, tj. 24.
- Podobnie macierz (10) (10) (10) może pomieścić 1000 elementów. Możemy to sobie wyobrazić, ponieważ każdy z 10 elementów może pomieścić 10 elementów, co daje w sumie 100 elementów. Każde 100 elementów może zawierać kolejne 10 elementów, co daje końcową wartość 1000.
- Możemy stworzyć tablicę wielowymiarową, najpierw tworząc prostszą tablicę, a następnie rozszerzając ją do wymaganego wymiaru.
Inicjalizacja macierzy wielowymiarowej
Pozwala nam wziąć tablicę 3D. Możemy zainicjalizować trójwymiarową tablicę na wiele sposobów. Poniżej znajdują się przykłady w celach informacyjnych.
int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);
- Wartości w nawiasach klamrowych od lewej do prawej są przechowywane w tablicy jako tabela od lewej do prawej. Wartości zostaną wypełnione w tablicy w następującej kolejności. Pierwsze 4 elementy od lewej w pierwszym rzędzie, kolejne 4 elementy w drugim rzędzie i tak dalej.
- Powyższa inicjalizacja nie da nam wyraźnego obrazu tablicy. Dla lepszej wizualizacji możemy zainicjować tę samą tablicę jak poniżej.
int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);
Dostęp do elementów w tablicy wielowymiarowej jest podobny do każdej innej tablicy za pomocą indeksu elementu. Musimy użyć trzech pętli, aby uzyskać dostęp do wszystkich elementów w tablicy. Poniżej znajduje się przykład dostępu do elementu w tablicy 3D.
x(2)(1)(0)
- W przypadku tablic o wyższych wymiarach, takich jak 4, 5, 6 itd., Koncepcja jest dość podobna, ale złożoność obsługi rzeczy wzrasta. Na przykład liczba używanych pętli, liczba wyszukiwań elementów, dostęp do określonego elementu itp.
- Elementy trójwymiarowych lub wyższych wymiarów macierzy można przenosić na różne sposoby. Ta operacja jest podobna do wektorów i macierzy. Różne techniki, takie jak zmiana kształtu, permutacja i ściśnięcie są stosowane w celu zmiany układu elementów wewnątrz tablicy. Są to złożone techniki, na które nie musimy się teraz martwić.
Przykład z krokami
Oto kilka przykładów tablic wielowymiarowych w C ++ podanych poniżej wraz z krokami:
Przykład 1
Teraz wykorzystamy te tablice 2D, aby zrozumieć, jak będą działać tablice wielowymiarowe. Napiszemy kod C ++, który pobierze dane wejściowe od użytkownika dla dwóch macierzy, doda je i wyświetli wynik dodania macierzy. Najpierw napiszemy główny program do wykonania.
Wewnątrz głównej funkcji zadeklarujemy dwie tablice dwuwymiarowe, które mogą przechowywać do 4 elementów.
Teraz poprosimy użytkownika o wprowadzenie 4 wartości dla każdej tablicy.
Aby zapisać wartości w tablicy, potrzebujemy dwóch pętli, tzn. Każdy wymiar używa jednej pętli do przechodzenia. Weźmy dwa indeksy, i i j dla dwóch wymiarów. Dla lepszego zrozumienia kodu użyjemy pętli for. Pierwsza dla pętli reprezentuje pierwszy wymiar, druga dla pętli dla drugiego wymiaru. Wewnątrz drugiej pętli for pobieramy dane wejściowe od użytkownika.
Teraz weź dane wejściowe dla drugiej tablicy w podobny sposób.
Ponieważ wartości są przechowywane w każdej tablicy, nadszedł czas, abyśmy pokazali użytkownikowi dodanie dwóch tablic. W tym celu ponownie używamy dwóch pętli for do przechodzenia i tym razem do drukowania wartości.
Wynik:
Przykład nr 2
Deklarujemy tablicę dowolnej liczby elementów i używamy ich do wykonywania różnych funkcji, takich jak dodawanie, odejmowanie, mnożenie, odwracanie, transformacja itp. Do odejmowania można użyć poniższego kodu:
Wybieraj różne dane wejściowe, sprawdzaj dane wyjściowe i oblicz je matematycznie.
Wynik:
Wniosek
W tym artykule dowiedzieliśmy się, co to jest tablica, co to jest tablica jedno- i wielowymiarowa, znaczenie tablicy wielowymiarowej, jak inicjalizować tablicę i korzystać z tablicy wielowymiarowej w programie w oparciu o nasze potrzeby.
Polecane artykuły
Jest to przewodnik po tablicach wielowymiarowych w C ++. Tutaj omawiamy składnię, elementy i inicjalizację tablicy wielowymiarowej w C ++ wraz z przykładami i krokami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-
- Tablica wielowymiarowa w C
- Wprowadzenie do C ++
- Rust vs C ++
- Przeładowanie i przesłonięcie w C ++