Selles õpetuses õpime mitmemõõtmelisi massiive C ++ keeles. Täpsemalt, kuidas neid deklareerida, neile juurde pääseda ja neid meie programmis tõhusalt kasutada.
C ++ -s saame luua massiivi massiivi, mida tuntakse mitmemõõtmelise massiivina. Näiteks:
int x(3)(4);
Siin on x kahemõõtmeline massiiv. See mahutab maksimaalselt 12 elementi.
Me võime seda massiivi mõelda kui 3 rida tabelit ja igal real on 4 veergu, nagu allpool näidatud.

Ka kolmemõõtmelised massiivid töötavad sarnaselt. Näiteks:
float x(2)(4)(3);
See massiiv x mahutab maksimaalselt 24 elementi.
Massiivi elementide koguarvu saame teada, korrutades selle mõõtmed:
2 x 4 x 3 = 24
Mitmemõõtmeline massiivi initsialiseerimine
Nagu tavaline massiiv, saame ka mitmemõõtmelise massiivi initsialiseerida mitmel viisil.
1. Kahemõõtmelise massiivi initsialiseerimine
int test(2)(3) = (2, 4, 5, 9, 0, 19);
Ülaltoodud meetodit ei eelistata. Parem viis selle massiivi initsialiseerimiseks samade massiivi elementidega on toodud allpool:
int test(2)(3) = ( (2, 4, 5), (9, 0, 19));
Sellel massiivil on 2 rida ja 3 veergu, mistõttu on meil kaks rida elemente, millest igaühel on 3 elementi.

2. Kolmemõõtmelise massiivi initsialiseerimine
int test(2)(3)(4) = (3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9);
See pole hea viis kolmemõõtmelise massiivi initsialiseerimiseks. Parem viis selle massiivi initsialiseerimiseks on:
int test(2)(3)(4) = ( ( (3, 4, 2, 3), (0, -3, 9, 11), (23, 12, 23, 2) ), ( (13, 4, 56, 3), (5, 9, 3, 5), (5, 1, 4, 9) ) );
Pange tähele selle kolmemõõtmelise massiivi mõõtmeid.
Esimesel mõõtmel on väärtus 2
. Niisiis, kaks elementi, mis moodustavad esimese dimensiooni, on:
Element 1 = ((3, 4, 2, 3), (0, -3, 9, 11), (23, 12, 23, 2)) Element 2 = ((13, 4, 56, 3), ( 5, 9, 3, 5), (5, 1, 4, 9))
Teisel mõõtmel on väärtus 3
. Pange tähele, et esimese dimensiooni kõigil elementidel on kolm elementi:
(3, 4, 2, 3), (0, -3, 9, 11) ja (23, 12, 23, 2) 1. elemendi jaoks. (13, 4, 56, 3), (5, 9, 3 , 5) ja (5, 1, 4, 9) elemendi 2 jaoks.
Lõpuks on int
teise dimensiooni igas elemendis neli numbrit:
(3, 4, 2, 3) (0, -3, 9, 11)…
Näide 1: kahemõõtmeline massiiv
// C++ Program to display all elements // of an initialised two dimensional array #include using namespace std; int main() ( int test(3)(2) = ((2, -5), (4, 0), (9, 1)); // use of nested for loop // access rows of the array for (int i = 0; i < 3; ++i) ( // access columns of the array for (int j = 0; j < 2; ++j) ( cout << "test(" << i << ")(" << j << ") = " << test(i)(j) << endl; ) ) return 0; )
Väljund
test (0) (0) = 2 test (0) (1) = -5 test (1) (0) = 4 test (1) (1) = 0 test (2) (0) = 9 test (2) (1) = 1
Ülaltoodud näites oleme int
algatanud kahemõõtmelise massiivi nimega test, millel on 3 "rida" ja 2 "veergu".
Siin oleme for
massiivi elementide kuvamiseks kasutanud pesastatud silmust.
- välimine silmus,
i == 0
eti == 2
pääseda massiivi ridadele - sisemine loop alates
j == 0
kunij == 1
ligipääsu veerud massiivi
Lõpuks printime massiivi elemendid igasse iteratsiooni.
Näide 2: Sisendi võtmine kahemõõtmelise massiivi jaoks
#include using namespace std; int main() ( int numbers(2)(3); cout << "Enter 6 numbers: " << endl; // Storing user input in the array for (int i = 0; i < 2; ++i) ( for (int j = 0; j > numbers(i)(j); ) ) cout << "The numbers are: " << endl; // Printing array elements for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( cout << "numbers(" << i << ")(" << j << "): " << numbers(i)(j) << endl; ) ) return 0; )
Väljund
Sisestage 6 numbrit: 1 2 3 4 5 6 Numbrid on järgmised: numbrid (0) (0): 1 numbrid (0) (1): 2 numbrit (0) (2): 3 numbrit (1) (0): 4 numbrid (1) (1): 5 numbrit (1) (2): 6
Siin oleme for
2d massiivi sisendi kasutamiseks võtnud pesastatud silmuse. Kui kogu sisend on sisestatud, oleme for
massiivi liikmete printimiseks kasutanud veel ühte pesastatud silmust.
Näide 3: kolmemõõtmeline massiiv
// C++ Program to Store value entered by user in // three dimensional array and display it. #include using namespace std; int main() ( // This array can store upto 12 elements (2x3x2) int test(2)(3)(2) = ( ( (1, 2), (3, 4), (5, 6) ), ( (7, 8), (9, 10), (11, 12) ) ); // Displaying the values with proper index. for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 3; ++j) ( for (int k = 0; k < 2; ++k) ( cout << "test(" << i << ")(" << j << ")(" << k << ") = " << test(i)(j)(k) << endl; ) ) ) return 0; )
Väljund
test (0) (0) (0) = 1 test (0) (0) (1) = 2 test (0) (1) (0) = 3 test (0) (1) (1) = 4 testi ( 0) (2) (0) = 5 testi (0) (2) (1) = 6 testi (1) (0) (0) = 7 testi (1) (0) (1) = 8 testi (1) (1) (0) = 9 test (1) (1) (1) = 10 test (1) (2) (0) = 11 test (1) (2) (1) = 12
3D-massiivi elementide printimise põhimõte on sarnane 2d-massiivi omaga.
Kuid kuna me manipuleerime kolme dimensiooniga, kasutame sisestatud silmuse jaoks ainult 3 silmust kokku:
- välimise kontuuri alates
i == 0
kunii == 1
juurdepääsud esimese mõõde massiivi - keskelt kliendiliine
j == 0
etj == 2
pöördub teise dimensiooni massiivi - sisima kliendiliine
k == 0
etk == 1
pöördub kolmas mõõde massiivi
Nagu näeme, suureneb massiivi keerukus mõõtmete suurenemisega eksponentsiaalselt.