Rekke matriser i C ++

Rekke matriser i C ++
En rekke matriser, også kjent som en todimensjonal matrise, er en datastruktur i C ++ som lar deg lagre flere matriser av data i et rutenettlignende format. I motsetning til en endimensjonal matrise, som lagrer dataene i en enkelt rad, kan en todimensjonal matrise lagre dataene i flere rader og kolonner. Hvert element i matrisen er i seg selv en matrise, med et fast antall elementer som tilsvarer antall kolonner i matrisen.

To-dimensjonale matriser kan være nyttige for lagring av data som har flere dimensjoner eller som er organisert i en tabell eller rutenett. For eksempel kan du bruke en todimensjonal matrise for å lagre karakterene for en gruppe studenter, med hver rad som representerer en annen student og hver kolonne som representerer en annen oppgave eller eksamen.

Erklæring om flerdimensjonal matrise i C++

For å erklære en rekke matriser i C ++, må du bruke følgende syntaks:

I denne syntaksen refererer data_typen til datatypen som er lagret i matrisen. Array_name er navnet på matrisen. Num_rows er antall rader i matrisen. Og num_cols er antall kolonner i matrisen.

Ulike måter å erklære de flerdimensjonale matriser i C++

Vi bruker en rekkevidde-type matrise slik at vi enkelt kan forstå arbeidet med matriser i C ++ og hvordan vi legger dataene i matriser rader og kolonner. Programmet som følger erklærer en rekke heltallsarrays. Det oppretter en 3 × 3 -rekke navnnett som er en heltalltype:

int rutenett [3] [3];

Som vi lærte i forrige syntaks, betyr 3 × 3 at det er 3 rader og 3 kolonner i matrisen. For eksempel: Vi ønsker å tilordne verdien som er 25 til elementet i andre rad og tredje kolonne i rutenettet.

rutenett [1] [2] = 25;

Dette setter verdien av elementet i den andre raden og den tredje kolonnen som har en nullbasert indeks på henholdsvis 1 og 2, til 25. Du kan også initialisere en rekke matriser når du erklærer den. For eksempel erklærer og initialiserer følgende kode et 2 × 2 rutenett med tegn:

Char Board [2] [2] = 'x', 'o',
'O', 'x';

Dette oppretter en 2 × 2 -rekke navn “Board” som inneholder tegnene med verdiene “X”, “O”, “O” og “X”. For å iterere over en rekke matriser, skal vi bruke løkkene.

Eksempel 1: Demonstrerer en flerdimensjonal rekke heltalltype

Her er det første enkle eksemplet på flerdimensjonale matriser i C++. I dette eksemplet inkluderer vi først de grunnleggende overskriftsfilene som er nyttige for å få inndata og skrive ut utdataene på brukerkonsollvinduet. Deretter starter vi Main () -funksjonen slik at vi enkelt kan demonstrere arbeidet med flerdimensjonale matriser.

Først initialiserer vi en int-type matrise av navnet “Grid” som inneholder 3 rader og 3 kolonner i den. Deretter lagrer vi noen data i nettet. For å få dataene fra rutenettet, bruker vi en for-loop som fungerer iterativt for å skrive ut alle dataene til rutenettet på utgangsskjermen.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

int rutenett [3] [3] = 1, 4, 7,
2, 5, 8,
3, 6, 9;
for (int i = 0; i < 3; ++i)

for (int j = 0; j < 3; ++j)

cout << grid[i][j] << " ";

cout << endl;

Denne koden skriver ut følgende utgang:

Eksempel 2: Demonstrerer sittearrangementet til en kino om flerdimensjonale matriser i C++

Her er et annet eksempel på en rekke matriser i C++. Anta at vi ønsker å lagre sittearrangementet til en kino der hvert sete kan være tomt eller okkupert. Vi kan bruke en todimensjonal matrise for å lagre disse dataene, med hver rad som representerer en annen rekke med seter og hver kolonne som representerer et annet sete i den raden. Vi erklærer et todimensjonalt utvalg kalt "sitteplasser" med 5 rader og 10 kolonner.

En egen seterrekke er representert med hver rad, og et annet sete innenfor den raden er representert med hver kolonne. Vi initialiserer matrisen med noen eksempler på data der 0 representerer et tomt sete og 1 representerer et okkupert sete. For å få tilgang til et bestemt sete, kan vi bruke rad- og kolonneindeksen for det setet.

For eksempel for å sjekke om setet i den tredje raden og den femte kolonnen er tomt, bruker vi IF-Else-setningen. For eksempel: sitteplasser [2] representerer den tredje raden i matrisen som inneholder sittearrangementet for den tredje seteraden. Sitteplasser [2] [4] representerer det femte elementet i den tredje raden som er setet i den tredje raden og den femte kolonnen.

Deretter bruker vi for-loop som gjentatte ganger itererer over matrisens varer og utfører alle nødvendige operasjoner på hvert sete.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

int sitteplasser [5] [10] = 0, 0, 0, 1, 1, 1, 1, 0, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
0, 1, 1, 0, 0, 0, 0, 1, 1, 0,
1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 1, 1;
int SeatStatus = sitteplasser [2] [4];
if (SeatStatus == 0)
cout << "Seat is empty" << endl;
annet
cout << "Seat is occupied" << endl;

int okkupertseter = 0;
for (int i = 0; i < 5; i++)
for (int j = 0; j < 10; j++)
if (sitter [i] [j] == 1)
Occupied Seats ++;



cout << "There are " << occupiedSeats << " occupied seats." << endl;

I denne illustrasjonen itererer den innvendige sløyfen og den utvendige sløyfen vekselvis over hver rad i matrisen. IF (sitteplasser [i] [j] == 1) uttalelse inne i den indre sløyfen sjekker om det nåværende setet er okkupert. I så fall øker den okkuperte setet disken. På slutten av løkkene gir programmet det totale antallet okkuperte seter. Her er utdataene som genereres ved å samle det forrige programmet:

Konklusjon

Vi lærte at en rekke matriser er en datastruktur som inneholder flere matriser i en enkelt matrise, noe som gir mulighet for representasjon av data i en matrise-lignende struktur. Vi lærte også hvordan vi lager mer komplekse datastrukturer som tabeller eller terninger av data. Selv om de kan være kraftige, kan det å jobbe med matriser av matriser også være mer komplekse og kreve god forståelse av syntaks og metoder. Det er grunnen til at vi implementerte flere eksempler slik at vi lett kan forstå konseptene.