Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Multidimensionale arrays in C++: declareren, initialiseren en loopen

C++ Multidimensionale Arrays

Deze gids leidt je door het declareren, initialiseren en itereren over 2‑D en 3‑D arrays in C++. Praktische code samples en best practices zijn inbegrepen.

In C++ is een multidimensionale array simpelweg een array van arrays. Bijvoorbeeld:

int x[3][4];

Hier is x een tweedimensionale array die 12 elementen kan bevatten. Visualiseer het als een tabel met 3 rijen en 4 kolommen.

Multidimensionale arrays in C++: declareren, initialiseren en loopen

Driedimensionale arrays volgen dezelfde logica:

float x[2][4][3];

Met in totaal 24 elementen, berekend door de dimensies te vermenigvuldigen: 2 × 4 × 3 = 24.


Multidimensionale Array Initialisatie

Net als eendimensionale arrays kunnen multidimensionale arrays op meerdere manieren geïnitialiseerd worden, maar duidelijkheid telt. De volgende secties tonen aanbevolen praktijken.

1. Tweedimensionale Array Initialisatie

int test[2][3] = {2, 4, 5, 9, 0, 19};

Hoewel syntactisch correct, is deze stijl moeilijk leesbaar. Een geneste initialisatie is te verkiezen:

int test[2][3] = {{2, 4, 5}, {9, 0, 19}};

Dit maakt de 2 rijen en 3 kolommen expliciet.

Multidimensionale arrays in C++: declareren, initialiseren en loopen

2. Driedimensionale Array Initialisatie

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};

Opnieuw leeft leesbaarheid. Een duidelijke benadering groepeert elke dimensie:

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}} };

Let op dat de eerste dimensie twee 3-rij blokken bevat, elk met vier kolommen.


Voorbeeld 1: Tweedimensionale Array

#include <iostream> using namespace std; int main() { int test[3][2] = {{2, -5}, {4, 0}, {9, 1}}; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 2; ++j) { cout << "test[" << i << "][" << j << "] = " << test[i][j] << endl; } } return 0; }

Output

test[0][0] = 2 test[0][1] = -5 test[1][0] = 4 test[1][1] = 0 test[2][0] = 9 test[2][1] = 1

Dit snippet demonstreert een geneste for loop die eerst over rijen itereert, dan kolommen, elk element printend.


Voorbeeld 2: Input Opnemen voor een Tweedimensionale Array

#include <iostream> using namespace std; int main() { int numbers[2][3]; cout << "Enter 6 numbers: " << endl; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { cin >> numbers[i][j]; } } cout << "The numbers are: " << endl; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { cout << "numbers[" << i << "][" << j << "]: " << numbers[i][j] << endl; } } return 0; }

Output

Enter 6 numbers: 1 2 3 4 5 6 The numbers are: numbers[0][0]: 1 numbers[0][1]: 2 numbers[0][2]: 3 numbers[1][0]: 4 numbers[1][1]: 5 numbers[1][2]: 6

Hier verzamelen twee geneste loops gebruikersinput en tonen de opgeslagen waarden.


Voorbeeld 3: Driedimensionale Array

#include <iostream> using namespace std; int main() { int test[2][3][2] = { {{1, 2}, {3, 4}, {5, 6}}, {{7, 8}, {9, 10}, {11, 12}} }; 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; }

Output

test[0][0][0] = 1 test[0][0][1] = 2 test[0][1][0] = 3 test[0][1][1] = 4 test[0][2][0] = 5 test[0][2][1] = 6 test[1][0][0] = 7 test[1][0][1] = 8 test[1][1][0] = 9 test[1][1][1] = 10 test[1][2][0] = 11 test[1][2][1] = 12

Loopen over een 3‑D array vereist drie geneste loops – elk corresponderend met een dimensie. Dit patroon schaalt natuurlijk naar hogere dimensies, hoewel complexiteit snel groeit.

C Taal

  1. C# Arrays: Declaratie, Initialisatie en Operaties
  2. C# Multidimensionale Arrays: 2D Arrays Uitgelegd met Codevoorbeelden
  3. C# Jagged Arrays: Declaratie, Initialisatie en Toegang
  4. C++ type conversie: impliciet, expliciet en casting technieken
  5. C++ operators: complete gids met praktische voorbeelden
  6. C++ comments: best practices voor leesbare, onderhoudbare code
  7. Arrays doorgeven aan functies in C++: een praktische gids
  8. C++ Arrays Ontmaskerd: Declaratie, Initialisatie en Pointer‑Technieken
  9. C++ Dynamische Array‑Allocatie: Praktische Handleiding met Code‑Voorbeelden
  10. MATLAB: Multidimensionale en Speciale Arrays Beheersen
  11. Java array-kopieertechnieken: een uitgebreide gids