multidimensional arrays c
Rolul matricei multidimensionale în C ++ cu exemple.
Până acum, în tutorialele noastre anterioare, am văzut totul despre tablourile unidimensionale.
C ++ acceptă, de asemenea, tablouri cu mai multe dimensiuni. Acestea se numesc tablouri multidimensionale. Tablourile multidimensionale sunt de obicei aranjate sub formă de tabel, adică în ordinea rândului major.
=> Căutați întreaga serie de formare C ++ aici.
Ce veți învăța:
Matrice multidimensionale în C ++
Luați în considerare o matrice multidimensională de dimensiuni 3 × 2, adică 3 rânduri și 2 coloane.
Reprezentăm această matrice după cum urmează:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
După cum se arată în reprezentarea de mai sus, fiecare celulă De exemplu. R1C1 va conține conținutul matricei.
Numărul de elemente prezente într-o matrice multidimensională este produsul dimensiunilor sale. Aceasta înseamnă că, dacă dimensiunile unei matrice sunt 3 × 2, atunci numărul de elemente din acea matrice este produsul de 3 și 2, adică 6. În mod similar, dacă dimensiunile matricei multidimensionale sunt (10) (20) (10) atunci numărul de elemente din acea matrice este 10 * 20 * 10 = 2000.
O matrice bidimensională este cea mai simplă formă a matricei multidimensionale utilizate de C ++.
Declararea unei matrice
Declarația generală a matricei multidimensionale în C ++ este prezentată mai jos:
dataType arrayName (size1)(size2)….(sizen);
Aici, dataType este tipul de date al matricei. Tipul de date ar trebui să fie acceptat de C ++.
arrayName este numele tabloului multidimensional.
Size1, size2… .sizen sunt dimensiunile fiecăreia dintre dimensiunile matricei.
De exemplu,să declarăm o matrice de dimensiunea 3 × 2, adică o matrice bidimensională, myarray_2d.
int myarray_2d (3)(2);
Un tablou bidimensional este reprezentat sub formă de rânduri și coloane.
Deci, declarația de mai sus a matricei poate fi reprezentată după cum urmează:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Așa cum se arată în reprezentarea de mai sus, fiecare element al unui tablou bidimensional este accesat ca myarray_2d (i) (j) unde i este numărul rândului și variază de la 0 la n-1 unde n este dimensiunea dimensiunii și j este numărul coloanei și variază de la 0 la m-1 unde m este dimensiunea dimensiunii coloanei.
Inițializarea tablourilor multidimensionale
Putem inițializa matrice multidimensionale similare matricilor unidimensionale. Tablourile multidimensionale sunt inițializate în rânduri.
Există două moduri prin care putem inițializa matrice multidimensionale.
# 1) Luați în considerare o matrice cu dimensiunile (3) (2) numite myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Aici, inițializarea matricei se face de la stânga la dreapta într-un mod rând cu rând. Deoarece dimensiunile sunt (3) (2), primele două elemente vor forma primul rând și așa mai departe.
Reprezentarea picturală a acestei inițializări va arăta după cum se arată mai jos:
unu | Două |
3 | 4 |
5 | 6 |
# 2) Același tablou prezentat mai sus poate fi inițializat utilizând un mod diferit, așa cum se arată mai jos:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Aici, inițializarea se face de la stânga la dreapta și fiecare element corespunde unui rând. Deoarece există trei rânduri pentru această matrice, avem trei elemente interioare închise între acolade ({}).
Acest mod de inițializare este mai ușor de citit și este avantajos atunci când dimensiunile matricei cresc.
Accesarea matricilor multidimensionale
Elementele matricei multidimensionale sunt accesate folosind indexul rândului și indexul coloanei.
Să vedem un exemplu a unui tablou bidimensional cu dimensiunile (3) (3). Mai jos este codul pentru a-l inițializa.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Dacă vreau să accesez al doilea element din primul rând și să-l atribui unei variabile întregi, atunci linia de cod va fi:
int val_2d = newarray(0)(1);
Mai jos este un exemplu de program care arată declarația, inițializarea și accesarea unui tablou bidimensional.
#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< Acest program produce următoarea ieșire:
1 2 3 4 5 6 7 8 9
Așa cum se arată în programul de mai sus, este declarat un tablou bidimensional și apoi inițializat. Apoi, pentru a accesa și a imprima toate elementele matricei, am setat două pentru bucle. Bucla exterioară pentru a accesa elementele în rânduri. Bucla interioară pentru acționează ca un contor pentru a accesa elementele din fiecare coloană.
site-uri anime bune pentru a viziona animate gratuit
În acest fel, accesăm fiecare element al acestui tablou bidimensional și îl afișăm pe ecran.
Concluzie
Tablourile multidimensionale pot avea orice număr de dimensiuni și odată cu creșterea numărului de dimensiuni, complexitatea crește și în consecință.
Deși am folosit matrici bidimensionale în toate exemplele de mai sus, putem codifica matrici cu dimensiuni mai mari într-un mod similar.
=> Faceți clic aici pentru cursul gratuit C ++.
Lectură recomandată
- Matrice în STL
- Utilizarea matricilor cu funcții în C ++
- Matrice C ++ cu exemple
- Matrice VBScript: Utilizarea funcțiilor DIM, REDIM, Split și Ubound Array
- Introduceți mai multe documente în MongoDB folosind matrici
- Cea mai bună serie de tutoriale GRATUITE C #: Ghidul final C # pentru începători
- Tipuri de date Java, bucle, tablouri, comutatoare și afirmații
- Script avansat Unix Shell: matrici, operatori de testare a fișierelor și șirurilor, variabile speciale