Hvordan gi en 2D -matrise til en C ++ -funksjon

Hvordan gi en 2D -matrise til en C ++ -funksjon
En 2D-matrise eller flerdimensjonal matrise består av to indekser; rader og kolonner. 2D -matriser er nyttige for å vise og behandle store data/informasjon. Men mange nybegynnere blir forvirrede mens de bruker 2D -matriser inne i funksjonen i C ++ på grunn av ikke å forstå syntaksen på riktig måte for prosessen. I denne artikkelen vil vi vise deg måten å gi en 2D -matrise på riktig måte til en C ++ -funksjon.

Gi en 2D -matrise til en C ++ -funksjon

For å passere en 2D -matrise i C ++, vil en sløyfe bli brukt slik at elementene i matrisen kan passere en etter en. Følg nå de underskrevne trinnene for å overføre en 2D-matrise til en C ++ -funksjon:

Trinn 1: I alle C ++ -koder er det første trinnet å legge til overskriftsfilene:

#inkludere
ved hjelp av navneområdet STD;

Steg 2: I en 2D -matrise er det to dimensjoner: Rader og kolonner. Dette er et veldig viktig trinn i prosessen der brukeren må opprette en funksjon for å vise/skrive ut verdiene til en 2D -matrise; Her kalte jeg denne funksjonen som forestilling() funksjon:

void show (int n [] [2])

Merk: Jeg har navngitt funksjonen forestilling(), Men brukeren kan velge hvilket som helst annet navn også. Argumentet i funksjonen er en 2D -matrise i.e. [rader] [kolonner]. Selv om du oppretter funksjonen med et array -argument, kan radindeksene bli tomme, men sørg for at kolonneindeksen har en verdi inne i den, ellers kan koden din få en feil.

Trinn 3: Inne i showfunksjonen, to for () løkker vil bli lagt til, en som vil kjøre for å vise rader og det andre for kolonnen. Her, x representerer antall rader:

cout<< "Showing Values on Each Location: " <for (int x = 0; x < 4; ++x)

Merk: Forsikre deg om at dette for loop er lukket inne i showfunksjonens seler. X er en variabel som vil bli satt lik 0 ved initialisering og senere vil øke til antall rader. Jeg vil ha en matrise med 4 rader, så her vil X løpe fra 0-3 (4 ganger).

Nå for kolonner, en annen for sløyfe vil bli lagt til. y viser antall kolonner. Men det andre for sløyfe skal lukkes inne i seler av den første for loop. EN cout Kommando vil også bli brukt til å skrive ut verdien til hvert sted på matrisen en etter en som løkken kjører:

for (int y = 0; y < 2; ++y)

cout<< "Location[" << x << "][" << y << "]: " << n[x][y] <

Trinn 4: Start til slutt hovedfunksjonen, og passere argumentene/elementene i matrisen:

int main ()
int n [4] [2] =
5, 4,
2, 6,
1, 9,
3, 8,
;

Merk: Forsikre deg om at du følger riktig syntaks for å passere elementene i en matrise.

Trinn 5: Nå er det siste trinnet å kalle funksjonen, som ble laget i trinn 2.

vist);

Hele koden skal se ut som vist nedenfor:

#inkludere
ved hjelp av navneområdet STD;
void show (int n [] [2])
cout<< "Showing Values on Each Location: " <for (int x = 0; x < 4; ++x)
for (int y = 0; y < 2; ++y)
cout<< "Location[" << x << "][" << y << "]: " << n[x][y] <


int main ()
int n [4] [2] =
5, 4,
2, 6,
1, 9,
3, 8,
;
vist);
retur 0;

Trinn 6: Kjør koden og se utdataene:

Den virkelige representasjonen av vårt opprettede matrise er som følgende:

Array Kolonne 0 Kolonne 1
Rad 0 5 4
Rad 1 2 6
Rad 2 1 9
Rad 3 3 8

Det er det for prosessen, nå ved å følge denne metoden, kan brukerne opprette flere 2D -matriser med forskjellige verdier for rader og kolonner.

Konklusjon

For å sende en 2D -matrise til en C ++ -funksjon, må brukeren lage en funksjon () med et array -argument på en slik måte at to indekser i matrisen er definert som; [radindeks] [kolonneindeks]. Radindeksen kan være tom, men sørg for at kolonneindeksen har en viss verdi i den. Bruk deretter inn i selene i funksjonen for løkker å passere og skrive ut elementene i matrisen. Til slutt i hovedprogrammet tildeler matriseelementene og ring funksjonen.