multidimensional arrays c
Paper de la matriu multidimensional en C ++ amb exemples.
Fins ara, en els nostres tutorials anteriors, hem vist tot sobre matrius unidimensionals.
C ++ també admet matrius amb més d'una dimensió. S’anomenen matrius multidimensionals. Les matrius multidimensionals solen disposar-se en forma de taula, és a dir, en ordre de fila major.
=> Cerqueu aquí tota la sèrie de formació C ++.
Què aprendreu:
Matrius multidimensionals en C ++
Penseu en un conjunt multidimensional de dimensions 3 × 2, és a dir, 3 files i 2 columnes.
Representem aquesta matriu de la següent manera:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Com es mostra a la representació anterior, cada cel·la Per exemple. R1C1 mantindrà el contingut de la matriu.
El nombre d'elements presents en una matriu multidimensional és el producte de les seves dimensions. Això significa que si les dimensions d'una matriu són 3 × 2, el nombre d'elements d'aquesta matriu és el producte de 3 i 2, és a dir, 6. De la mateixa manera, si les dimensions de la matriu multidimensional són (10) (20) (10) llavors el nombre d'elements d'aquesta matriu és de 10 * 20 * 10 = 2000.
Una matriu bidimensional és la forma més senzilla de la matriu multidimensional que utilitza C ++.
Declaració d'una matriu
A continuació es mostra la declaració general de la matriu multidimensional en C ++:
dataType arrayName (size1)(size2)….(sizen);
Aquí, dataType és el tipus de dades de la matriu. El tipus de dades hauria de ser compatible amb C ++.
arrayName és el nom de la matriu multidimensional.
Size1, size2 .... grandària són les mides de cadascuna de les dimensions de la matriu.
Per exemple,declarem una matriu de mida 3 × 2, és a dir, una matriu bidimensional, myarray_2d.
int myarray_2d (3)(2);
Una matriu bidimensional es representa en forma de files i columnes.
Per tant, la declaració anterior de la matriu es pot representar de la següent manera:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Com es mostra a la representació anterior, s’accedeix a cada element d’una matriu bidimensional com myarray_2d (i) (j) on i és el número de fila i oscil·la entre 0 i n-1 on n és la mida de la dimensió i j és la número de columna i oscil·la entre 0 i m-1, on m és la mida de la dimensió de la columna.
Inicialització de matrius multidimensionals
Podem inicialitzar matrius multidimensionals similars a les matrius unidimensionals. Les matrius multidimensionals s’inicialitzen segons les files.
Hi ha dues maneres a través de les quals podem inicialitzar matrius multidimensionals.
# 1) Considereu una matriu amb dimensions (3) (2) anomenada myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Aquí, la inicialització de la matriu es fa d’esquerra a dreta de manera fila per fila. Com que les dimensions són (3) (2), els dos primers elements formaran la primera fila, etc.
La representació pictòrica d’aquesta inicialització serà la següent:
1 | 2 |
3 | 4 |
5 | 6 |
# 2) La mateixa matriu que es mostra anteriorment es pot inicialitzar d'una manera diferent com es mostra a continuació:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Aquí, la inicialització es fa d’esquerra a dreta i cada element correspon a una fila. Com que hi ha tres files per a aquesta matriu, tenim tres elements interiors tancats entre claus ({}).
Aquesta forma d'inicialització és més llegible i és avantatjosa quan creixen les dimensions de la matriu.
Accés a matrius multidimensionals
S'accedeix als elements de matriu multidimensional mitjançant l'índex de fila i l'índex de columna.
Vegem un exemple d'una matriu bidimensional amb dimensions (3) (3). A continuació es mostra el codi per inicialitzar-lo.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Si vull accedir al segon element de la primera fila i assignar-lo a una variable sencera, la línia de codi serà:
int val_2d = newarray(0)(1);
A continuació es mostra un programa de mostra que mostra la declaració, inicialització i accés d’una matriu 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< Aquest programa produeix la següent sortida:
1 2 3 4 5 6 7 8 9
Com es mostra al programa anterior, es declara una matriu bidimensional i es inicialitza. A continuació, per accedir i imprimir tots els elements de la matriu, n’hem definit dos per a bucles. El bucle exterior és accedir als elements seguint les files. El bucle interior actua com a comptador per accedir als elements de cada columna.
exemple de cas de prova junit a eclipsi java
D'aquesta manera, accedim a cada element d'aquesta matriu bidimensional i el mostrem a la pantalla.
Conclusió
Les matrius multidimensionals poden tenir qualsevol nombre de dimensions i, a mesura que augmenta el nombre de dimensions, la complexitat també augmenta en conseqüència.
Tot i que hem utilitzat matrius bidimensionals en tots els exemples anteriors, podem codificar matrius amb dimensions més altes de manera similar.
=> Feu clic aquí per obtenir el curs gratuït de C ++.
Lectura recomanada
- Matrius a STL
- Ús de matrius amb funcions a C ++
- Matrius C ++ amb exemples
- Matrius VBScript: utilitzant funcions de matriu DIM, REDIM, Split i Ubound
- Inseriu diversos documents a MongoDB mitjançant matrius
- Millor sèrie de tutorials C # GRATU :TS: la millor guia C # per a principiants
- Tipus de dades, bucles, matrius, commutadors i assercions de Java
- Scripts avançats de Shell Unix: matrius, operadors de proves de fitxers i cadenes, variables especials