multidimensional arrays c
Vloga večdimenzionalnega polja v jeziku C ++ z primeri.
Do sedaj smo v naših prejšnjih vajah videli vse o enodimenzionalnih nizih.
C ++ podpira tudi nize z več kot eno dimenzijo. Ti se imenujejo večdimenzionalni nizi. Večdimenzionalni nizi so običajno razporejeni v obliki tabele, tj.
=> Poiščite celotno serijo usposabljanj za C ++ tukaj.
Kaj se boste naučili:
Večdimenzionalni nizi v jeziku C ++
Upoštevajte večdimenzionalno polje dimenzij 3 × 2, tj. 3 vrstice in 2 stolpca.
To matriko predstavljamo na naslednji način:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Kot je prikazano v zgornji predstavitvi, vsaka celica Npr. R1C1 bo vseboval vsebino matrike.
Število elementov, prisotnih v večdimenzionalnem polju, je zmnožek njegovih dimenzij. To pomeni, da če so dimenzije matrike 3 × 2, je število elementov v matriki zmnožek 3 in 2, tj. 6. Podobno, če so dimenzije večdimenzionalnega polja [10] [20] [10] potem je število elementov v tej matriki 10 * 20 * 10 = 2000.
Dvodimenzionalno polje je najpreprostejša oblika večdimenzionalnega polja, ki ga uporablja C ++.
Razglasitev matrike
Splošna izjava večdimenzionalnega polja v jeziku C ++ je prikazana spodaj:
dataType arrayName [size1][size2]….[sizen];
Tu je dataType podatkovni tip matrike. Podatkovni tip naj podpira C ++.
arrayName je ime večdimenzionalne matrike.
Size1, size2 ... .sizen so velikosti vsake dimenzije matrike.
Na primer,razglasimo polje velikosti 3 × 2, tj. dvodimenzionalno polje, myarray_2d.
int myarray_2d [3][2];
Dvodimenzionalno polje je predstavljeno v obliki vrstic in stolpcev.
Torej lahko zgornjo deklaracijo matrike predstavimo na naslednji način:
myarray_2d [0] [0] | myarray_2d [0] [1] |
myarray_2d [1] [0] | myarray_2d [1] [1] |
myarray_2d [2] [0] | myarray_2d [2] [1] |
Kot je prikazano v zgornji predstavitvi, je vsak element dvodimenzionalne matrike dostopen kot myarray_2d [i] [j], kjer je i številka vrstice in se giblje od 0 do n-1, kjer je n velikost dimenzije in j je številka stolpca in se giblje od 0 do m-1, kjer je m velikost dimenzije stolpca.
Inicializacija večdimenzionalnih nizov
Inicializiramo lahko večdimenzionalne nize, podobne enodimenzionalnim nizom. Večdimenzionalni nizi se inicializirajo po vrsticah.
Obstajata dva načina, s katerimi lahko inicializiramo večdimenzionalne nize.
# 1) Razmislite o matriki z dimenzijami [3] [2] z imenom myarray:
int myarray[3][2] = {1, 2,3,4,5,6};
Tu je inicializacija matrike zaporedoma od leve proti desni. Ker so dimenzije [3] [2], bosta prva dva elementa tvorila prvo vrstico itd.
Slikovni prikaz te inicializacije bo videti, kot je prikazano spodaj:
1. | dva |
3. | 4. |
5. | 6. |
# 2) Isto matriko, prikazano zgoraj, je mogoče inicializirati na drugačen način, kot je prikazano spodaj:
int myarray[3][2] = { {1,2}, {3,4}, {5,6} };
Tu se inicializacija izvede od leve proti desni in vsak element ustreza eni vrstici. Ker so za to polje tri vrstice, imamo tri notranje elemente, ki so zaprti v zavite oklepaje ({}).
Ta način inicializacije je bolj berljiv in je ugoden, ko dimenzije matrike rastejo.
Dostop do večdimenzionalnih nizov
Do večdimenzionalnih elementov matrike se dostopa s pomočjo indeksa vrstic in indeksa stolpcev.
Poglejmo primer dvodimenzionalnega polja z dimenzijami [3] [3]. Spodaj je koda za njeno inicializacijo.
int newarray [3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Če želim dostopati do drugega elementa v prvi vrstici in ga dodeliti celoštevilčni spremenljivki, bo vrstica kode:
int val_2d = newarray[0][1];
Spodaj je primeren program, ki prikazuje deklaracijo, inicializacijo in dostop do dvodimenzionalne matrike.
#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< Ta program daje naslednje rezultate:
1 2 3 4 5 6 7 8 9
Kot je prikazano v zgornjem programu, se dvodimenzionalno polje deklarira in nato inicializira. Nato smo za dostop do elementov matrike in njihovo tiskanje nastavili dve zanki. Zunanja zanka for je dostop do elementov vrstno. Notranja zanka for deluje kot števec za dostop do elementov v vsakem stolpcu.
nimam privzetega prehoda
Na ta način dostopamo do vsakega elementa tega dvodimenzionalnega polja in ga prikažemo na zaslonu.
Zaključek
Večdimenzionalni nizi imajo lahko poljubno število dimenzij in s povečevanjem števila dimenzij se temu primerno povečuje tudi kompleksnost.
Čeprav smo v vseh zgornjih primerih uporabili dvodimenzionalna polja, lahko na podoben način kodiramo polja z večjimi dimenzijami.
=> Kliknite tukaj za brezplačni tečaj C ++.
Priporočeno branje
- Polja v STL
- Uporaba nizov s funkcijami v C ++
- Polja C ++ z primeri
- Polja VBScript: Uporaba funkcij DIM, REDIM, Split in Ubound Array
- Vstavite več dokumentov v MongoDB z uporabo nizov
- Najboljša BREZPLAČNA vadnica za C #: Ultimate C # Guide za začetnike
- Java vrste podatkov, zanke, nizi, stikala in trditve
- Napredno skriptno lupino Unix: nizi, operatorji datotek in nizov, posebne spremenljivke