multidimensional arrays c
Rollen til flerdimensjonal matrise i C ++ med eksempler.
Inntil nå, i våre tidligere veiledninger, har vi sett alt om endimensjonale matriser.
C ++ støtter også matriser med mer enn én dimensjon. Disse kalles flerdimensjonale matriser. Flerdimensjonale matriser arrangeres vanligvis i tabellform, dvs. i rekkefølge.
=> Se etter hele C ++ treningsserien her.
Hva du vil lære:
Flerdimensjonale matriser i C ++
Tenk på et flerdimensjonalt utvalg av dimensjoner 3 × 2, dvs. 3 rader og 2 kolonner.
Vi representerer denne matrisen som følger:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Som vist i ovenstående representasjon, hver celle F.eks. R1C1 vil inneholde innholdet i matrisen.
Antall elementer som er tilstede i en flerdimensjonal matrise er produktet av dens dimensjoner. Dette betyr at hvis dimensjonene til en matrise er 3 × 2, så er antall elementer i den matrisen produktet av 3 og 2, dvs. 6. Hvis dimensjonene til den flerdimensjonale matrisen er (10) (20) (10) da er antall elementer i den matrisen 10 * 20 * 10 = 2000.
Et todimensjonalt array er den enkleste formen for det flerdimensjonale arrayet som brukes av C ++.
Erklærer en matrise
Generell erklæring for flerdimensjonalt array i C ++ er vist nedenfor:
dataType arrayName (size1)(size2)….(sizen);
Her er dataType datatypen til matrisen. Datatypen skal støttes av C ++.
arrayName er navnet på det flerdimensjonale arrayet.
Størrelse1, størrelse2 ... .størrelse er størrelsene på hver av matrisedimensjonene.
For eksempel,la oss erklære en matrise med størrelse 3 × 2, dvs. en todimensjonal matrise, myarray_2d.
int myarray_2d (3)(2);
En todimensjonal matrise er representert i form av rader og kolonner.
Så den ovennevnte erklæringen til matrisen kan vises 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 representasjonen ovenfor, får du tilgang til hvert element i en todimensjonal matrise som myarray_2d (i) (j) hvor i er radnummeret og det varierer fra 0 til n-1 der n er dimensjonsstørrelsen og j er kolonnenummer og det varierer fra 0 til m-1 der m er dimensjonsstørrelsen på kolonnen.
Initialisere flerdimensjonale matriser
Vi kan initialisere flerdimensjonale matriser som ligner på de endimensjonale matriser. Flerdimensjonale matriser initialiseres radvis.
Det er to måter vi kan initialisere flerdimensjonale matriser på.
# 1) Tenk på en matrise med dimensjoner (3) (2) som heter myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Her er initialisering av matrisen fra venstre til høyre på rad for rad måte. Ettersom dimensjonene er (3) (2), vil de to første elementene danne den første raden og så videre.
Bildearbeid av denne initialiseringen vil se ut som vist nedenfor:
1 | to |
3 | 4 |
5 | 6 |
# 2) Den samme matrisen vist ovenfor kan initialiseres på en annen måte som vist nedenfor:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Her blir initialiseringen gjort fra venstre til høyre, og hvert element tilsvarer en rad. Siden det er tre rader for denne matrisen, har vi tre indre elementer omsluttet av krøllete bukseseler ({}).
Denne måten å initialisere er mer lesbar og er fordelaktig når matrisedimensjonene vokser.
Få tilgang til flerdimensjonale matriser
Du får tilgang til flerdimensjonale matriseelementer ved hjelp av radindeksen og kolonneindeksen.
La oss se en eksempel av et todimensjonalt array med dimensjoner (3) (3). Nedenfor er koden for å initialisere den.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Hvis jeg vil ha tilgang til det andre elementet i første rad og tildele det til en heltallvariabel, vil kodelinjen være:
int val_2d = newarray(0)(1);
Nedenfor er et eksempelprogram som viser erklæring, initialisering og tilgang til en todimensjonal matrise.
#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 programmet gir følgende utdata:
1 2 3 4 5 6 7 8 9
Som vist i programmet ovenfor, blir en todimensjonal matrise erklært og deretter initialisert. For å få tilgang til og skrive ut alle matriseelementene, har vi satt to for løkker. Den ytre for løkken er å få tilgang til elementene radvis. Den indre for sløyfen fungerer som en teller for å få tilgang til elementene i hver kolonne.
beste programvare for videokonvertering for mac
På denne måten får vi tilgang til hvert element i denne todimensjonale matrisen og viser det på skjermen.
Konklusjon
Flerdimensjonale matriser kan ha et hvilket som helst antall dimensjoner, og når antall dimensjoner øker, øker kompleksiteten også tilsvarende.
Selv om vi har brukt todimensjonale matriser i alle eksemplene ovenfor, kan vi kode matriser med høyere dimensjoner på en lignende måte.
=> Klikk her for gratis C ++ kurs.
Anbefalt lesing
- Arrays I STL
- Bruke matriser med funksjoner i C ++
- C ++ arrays med eksempler
- VBScript Arrays: Bruk av DIM-, REDIM-, Split- og Ubound Array-funksjoner
- Sett inn flere dokumenter i MongoDB ved hjelp av arrays
- Beste GRATIS C # opplæringsserie: The Ultimate C # Guide For Beginners
- Java datatyper, sløyfer, matriser, bryter og påstander
- Avansert Unix Shell Scripting: Arrays, File and String Test Operators, Special Variables