multidimensional arrays c
Rollen med flerdimensionel matrix i C ++ med eksempler.
Indtil nu har vi i vores tidligere tutorials set alt om endimensionelle arrays.
C ++ understøtter også arrays med mere end en dimension. Disse kaldes flerdimensionelle arrays. Flerdimensionelle arrays er normalt arrangeret i tabelform, dvs. i rækkefølge i rækkefølge.
=> Se efter hele C ++ træningsserien her.
Hvad du lærer:
Flerdimensionelle arrays i C ++
Overvej et flerdimensionelt array med dimensionerne 3 × 2, dvs. 3 rækker og 2 kolonner.
Vi repræsenterer denne matrix som følger:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Som vist i ovenstående repræsentation, hver celle For eksempel. R1C1 indeholder indholdet af arrayet.
Antallet af elementer til stede i et flerdimensionelt array er produktet af dets dimensioner. Dette betyder, at hvis dimensionerne af en matrix er 3 × 2, så er antallet af elementer i den matrix produktet af 3 og 2, dvs. 6. Hvis dimensionerne af den multidimensionelle matrix er tilsvarende (10) (20) (10) så er antallet af elementer i denne matrix 10 * 20 * 10 = 2000.
Et todimensionelt array er den enkleste form for det multidimensionale array, der bruges af C ++.
Erklærer en matrix
Generel erklæring for det flerdimensionale array i C ++ er vist nedenfor:
dataType arrayName (size1)(size2)….(sizen);
Her er dataType matrixens datatype. Datatypen skal understøttes af C ++.
arrayName er navnet på det flerdimensionale array.
Størrelse1, størrelse2 ... .størrelse er størrelsen på hver af matrixdimensionerne.
For eksempel,lad os erklære en matrix med størrelse 3 × 2, dvs. et todimensionelt array, myarray_2d.
int myarray_2d (3)(2);
Et todimensionelt array er repræsenteret i form af rækker og kolonner.
Så ovenstående erklæring for arrayet kan repræsenteres som følger:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Som vist i ovenstående repræsentation er der adgang til hvert element i et 2-dimensionelt array som myarray_2d (i) (j) hvor i er rækkenummeret og det varierer fra 0 til n-1 hvor n er dimensionens størrelse og j er søjlenummer, og det varierer fra 0 til m-1, hvor m er dimensionens størrelse for søjlen.
Initialisering af flerdimensionelle arrays
Vi kan initialisere multidimensionelle arrays svarende til de endimensionale arrays. Flerdimensionelle arrays initialiseres rækkevis.
Der er to måder, hvorpå vi kan initialisere flerdimensionelle arrays.
# 1) Overvej en matrix med dimensioner (3) (2) ved navn myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Her er initialisering af arrayet fra venstre mod højre i række for række. Da dimensionerne er (3) (2), vil de to første elementer danne den første række og så videre.
Billedlig gengivelse af denne initialisering vil se ud som vist nedenfor:
1 | to |
3 | 4 |
5 | 6 |
# 2) Det samme array vist ovenfor kan initialiseres på en anden måde som vist nedenfor:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Her initialiseres der fra venstre mod højre, og hvert element svarer til en række. Da der er tre rækker til denne matrix, har vi tre indre elementer lukket i krøllede seler ({}).
Denne måde til initialisering er mere læselig og er fordelagtig, når arraydimensionerne vokser.
Adgang til multidimensionelle arrays
Der er adgang til flerdimensionelle matrixelementer ved hjælp af rækkeindekset og kolonneindekset.
Lad os se en eksempel af et todimensionelt array med dimensioner (3) (3). Nedenfor er koden til at initialisere den.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Hvis jeg vil have adgang til det andet element i første række og tildele det til en heltalsvariabel, vil kodelinjen være:
int val_2d = newarray(0)(1);
Nedenfor er et eksempelprogram, der viser erklæring, initialisering og adgang til et todimensionelt array.
#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< Dette program producerer følgende output:
1 2 3 4 5 6 7 8 9
Som vist i ovenstående program erklæres et todimensionelt array og initialiseres derefter. For at få adgang til og udskrive alle matrixelementerne har vi indstillet to til sløjfer. Den ydre for loop er at få adgang til elementerne rækkevidde. Den indre for loop fungerer som en tæller for at få adgang til elementerne i hver kolonne.
hvordan man opretter en streng array java
På denne måde får vi adgang til hvert element i dette todimensionale array og viser det på skærmen.
Konklusion
Flerdimensionelle arrays kan have et vilkårligt antal dimensioner, og når antallet af dimensioner øges, øges kompleksiteten også tilsvarende.
Selvom vi har brugt todimensionale arrays i alle ovenstående eksempler, kan vi kode arrays med højere dimensioner på en lignende måde.
=> Klik her for det gratis C ++ kursus.
Anbefalet læsning
- Arrays i STL
- Brug af arrays med funktioner i C ++
- C ++ arrays med eksempler
- VBScript-arrays: Brug af DIM-, REDIM-, Split- og Ubound Array-funktioner
- Indsæt flere dokumenter i MongoDB ved hjælp af arrays
- Bedste GRATIS C # tutorialsserie: Den ultimative C # guide til begyndere
- Java datatyper, sløjfer, arrays, switch og påstande
- Avanceret Unix Shell-scripting: Arrays, fil- og strengtestoperatører, specielle variabler