multidimensional arrays c
Roll för flerdimensionell matris i C ++ med exempel.
Hittills har vi i våra tidigare handledning sett allt om endimensionella matriser.
C ++ stöder också matriser med mer än en dimension. Dessa kallas flerdimensionella matriser. Flerdimensionella matriser är vanligtvis ordnade i tabellform, dvs. i rad-huvudordning.
=> Leta efter hela C ++ träningsserien här.
Vad du kommer att lära dig:
Flerdimensionella matriser i C ++
Tänk på en flerdimensionell matris med dimensionerna 3 × 2, dvs. 3 rader och 2 kolumner.
Vi representerar denna matris enligt följande:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Som visas i ovanstående representation, varje cell T.ex. R1C1 innehåller innehållet i matrisen.
Antalet element som finns i en flerdimensionell matris är produkten av dess dimensioner. Detta innebär att om dimensionerna för en matris är 3 × 2 så är antalet element i den matrisen produkten av 3 och 2, dvs. 6. Om dimensionerna för den flerdimensionella matrisen är (10) (20) (10) då är antalet element i den matrisen 10 * 20 * 10 = 2000.
En tvådimensionell matris är den enklaste formen av den flerdimensionella matrisen som används av C ++.
Förklarar en matris
Allmän deklaration för den flerdimensionella matrisen i C ++ visas nedan:
dataType arrayName (size1)(size2)….(sizen);
Här är dataType datatypen för matrisen. Datatypen ska stödjas av C ++.
arrayName är namnet på den flerdimensionella arrayen.
Size1, size2… .sizen är storleken på var och en av arraydimensionerna.
Till exempel,låt oss förklara en matris av storlek 3 × 2, dvs en tvådimensionell matris, myarray_2d.
int myarray_2d (3)(2);
En tvådimensionell matris representeras i form av rader och kolumner.
Så ovanstående förklaring av matrisen kan representeras enligt följande:
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 visas i ovanstående representation, nås varje element i en tvådimensionell matris som myarray_2d (i) (j) där i är radnumret och det sträcker sig från 0 till n-1 där n är dimensionens storlek och j är kolumnnummer och det sträcker sig från 0 till m-1 där m är kolumnens måttstorlek.
Initiera flerdimensionella matriser
Vi kan initiera flerdimensionella matriser som liknar de endimensionella matriserna. Flerdimensionella matriser initialiseras radvis.
Det finns två sätt genom vilka vi kan initiera flerdimensionella matriser.
# 1) Tänk på en matris med dimensioner (3) (2) som heter myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Här initieras matrisen från vänster till höger i rad för rad-sätt. Eftersom dimensionerna är (3) (2) kommer de två första elementen att bilda den första raden och så vidare.
Bildrepresentationen av denna initialisering kommer att se ut som visas nedan:
1 | två |
3 | 4 |
5 | 6 |
# 2) Samma array som visas ovan kan initieras på ett annat sätt som visas nedan:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Här initialiseras från vänster till höger och varje element motsvarar en rad. Eftersom det finns tre rader för den här matrisen har vi tre inre element inneslutna i lockiga hakparenteser ({}).
Detta sätt att initiera är mer läsbart och är fördelaktigt när arraydimensionerna växer.
Åtkomst till flerdimensionella matriser
Flerdimensionella arrayelement nås med hjälp av radindex och kolumnindex.
Låt oss se en exempel av en tvådimensionell matris med dimensioner (3) (3). Nedan är koden för att initialisera den.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Om jag vill komma åt det andra elementet i den första raden och tilldela det till en heltalsvariabel kommer kodraden att vara:
int val_2d = newarray(0)(1);
Nedan följer ett exempelprogram som visar deklaration, initialisering och åtkomst till en tvådimensionell matris.
#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< Detta program ger följande utdata:
1 2 3 4 5 6 7 8 9
Som visas i ovanstående program deklareras en tvådimensionell matris och initieras sedan. För att komma åt och skriva ut alla matriselement har vi ställt in två för slingor. Det yttre för loop är att få åtkomst till elementen radvis. Den inre för slingan fungerar som en räknare för åtkomst till elementen i varje kolumn.
oracle sql pl sql intervjufrågor
På detta sätt får vi åtkomst till varje element i denna tvådimensionella matris och visar det på skärmen.
Slutsats
Flerdimensionella matriser kan ha valfritt antal dimensioner och när antalet dimensioner ökar ökar också komplexiteten i enlighet därmed.
Även om vi har använt tvådimensionella matriser i alla ovanstående exempel kan vi koda matriser med högre dimensioner på ett liknande sätt.
=> Klicka här för gratis C ++ kurs.
Rekommenderad läsning
- Arrays i STL
- Använda matriser med funktioner i C ++
- C ++ Arrays med exempel
- VBScript Arrays: Använda DIM-, REDIM-, Split- och Ubound Array-funktioner
- Infoga flera dokument i MongoDB med hjälp av matriser
- Bästa GRATIS C # -handledningsserie: Den ultimata C # -guiden för nybörjare
- Java datatyper, slingor, matriser, switch och påståenden
- Avancerat Unix Shell-skript: Arrayer, fil- och strängtestoperatörer, speciella variabler