multidimensional arrays c
De rol van multidimensionale array in C ++ met voorbeelden.
Tot nu toe hebben we in onze eerdere tutorials alles gezien over eendimensionale arrays.
C ++ ondersteunt ook arrays met meer dan één dimensie. Dit worden meerdimensionale arrays genoemd. Multidimensionale arrays worden meestal in tabelvorm gerangschikt, d.w.z. in rij-majeurvolgorde.
Zoek hier de volledige C ++ trainingsserie.
Wat je leert:
Multidimensionale arrays in C ++
Overweeg een multidimensionale reeks afmetingen 3 × 2, d.w.z. 3 rijen en 2 kolommen.
We stellen deze array als volgt voor:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Zoals weergegeven in de bovenstaande weergave, heeft elke cel Bijv. R1C1 bevat de inhoud van de array.
Het aantal elementen dat aanwezig is in een multidimensionale array is het product van zijn afmetingen. Dit betekent dat als de afmetingen van een array 3 × 2 zijn, het aantal elementen in die array het product is van 3 en 2 dwz 6. Evenzo, als de afmetingen van de multidimensionale array (10) (20) (10) zijn. dan is het aantal elementen in die array 10 * 20 * 10 = 2000.
Een tweedimensionale array is de eenvoudigste vorm van de multidimensionale array die door C ++ wordt gebruikt.
Een matrix declareren
De algemene verklaring van de multidimensionale array in C ++ wordt hieronder weergegeven:
Hier is dataType het gegevenstype van de array. Het datatype moet worden ondersteund door C ++.
arrayName is de naam van de multidimensionale array.
Size1, size2… .sizen zijn de maten van elk van de array-afmetingen.
Bijvoorbeeld,laten we een array van grootte 3 × 2 declareren, d.w.z. een tweedimensionale array, myarray_2d.
Een tweedimensionale array wordt weergegeven in de vorm van rijen en kolommen.
Dus de bovenstaande verklaring van de array kan als volgt worden weergegeven:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Zoals getoond in de bovenstaande weergave, wordt elk element van een tweedimensionale array benaderd als myarray_2d (i) (j) waarbij i het rijnummer is en het varieert van 0 tot n-1, waarbij n de afmetingsgrootte is en j de kolomnummer en het varieert van 0 tot m-1, waarbij m de afmeting van de kolom is.
Initialiseren van multidimensionale arrays
We kunnen multidimensionale arrays initialiseren, vergelijkbaar met de eendimensionale arrays. Multidimensionale arrays worden rijgewijs geïnitialiseerd.
Er zijn twee manieren waarop we multidimensionale arrays kunnen initialiseren.
# 1) Beschouw een array met dimensies (3) (2) genaamd myarray:
Hier is de initialisatie van de array van links naar rechts in een rij voor rij. Aangezien de afmetingen (3) (2) zijn, vormen de eerste twee elementen de eerste rij, enzovoort.
Een afbeelding van deze initialisatie ziet er uit zoals hieronder weergegeven:
1 | twee |
3 | 4 |
5 | 6 |
# 2) Dezelfde array die hierboven wordt weergegeven, kan op een andere manier worden geïnitialiseerd, zoals hieronder wordt weergegeven:
Hier wordt de initialisatie van links naar rechts uitgevoerd en komt elk element overeen met één rij. Aangezien er drie rijen zijn voor deze array, hebben we drie binnenste elementen tussen accolades ({}).
Deze manier van initialiseren is beter leesbaar en is voordelig wanneer de array-afmetingen groter worden.
Toegang krijgen tot multidimensionale arrays
Multidimensionale array-elementen zijn toegankelijk via de rij-index en kolomindex.
Laten we eens kijken voorbeeld van een tweedimensionale array met afmetingen (3) (3). Hieronder staat de code om het te initialiseren.
Als ik toegang wil tot het tweede element in de eerste rij en het wil toewijzen aan een integer-variabele, dan is de regel code:
Hieronder ziet u een voorbeeldprogramma dat declaratie, initialisatie en toegang tot een tweedimensionale array laat zien.
Dit programma produceert de volgende output:
1 2 3 4 5 6 7 8 9
Zoals getoond in het bovenstaande programma, wordt een tweedimensionale array gedeclareerd en vervolgens geïnitialiseerd. Om vervolgens alle array-elementen te openen en af te drukken, hebben we twee for-loops ingesteld. De buitenste lus is om de elementen rijgewijs te benaderen. De binnenste for-lus fungeert als een teller om toegang te krijgen tot de elementen in elke kolom.
hoe 7z-bestanden uitpakken op mac
Op deze manier hebben we toegang tot elk element van deze tweedimensionale array en geven we het weer op het scherm.
Gevolgtrekking
Multidimensionale arrays kunnen elk aantal dimensies hebben en naarmate het aantal dimensies toeneemt, neemt ook de complexiteit dienovereenkomstig toe.
Hoewel we in alle bovenstaande voorbeelden tweedimensionale arrays hebben gebruikt, kunnen we arrays met hogere dimensies op een vergelijkbare manier coderen.
Klik hier voor de gratis C ++ cursus.
Aanbevolen literatuur
- Arrays in STL
- Arrays gebruiken met functies in C ++
- C ++ arrays met voorbeelden
- VBScript-arrays: DIM-, REDIM-, Split- en Ubound Array-functies gebruiken
- Voeg meerdere documenten in MongoDB in met behulp van arrays
- Beste GRATIS C # Tutorial-serie: de ultieme C # -gids voor beginners
- Java-gegevenstypes, loops, arrays, switch en beweringen
- Geavanceerde Unix Shell Scripting: arrays, bestands- en stringtestoperatoren, speciale variabelen