Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

Mehrdimensionale Arrays in C++ meistern: Deklaration, Initialisierung und Iteration

C++ Mehrdimensionale Arrays

Dieser Leitfaden führt Sie durch Deklaration, Initialisierung und Iteration über 2-D- und 3-D-Arrays in C++. Praktische Code-Beispiele und Best Practices inklusive.

In C++ ist ein mehrdimensionales Array einfach ein Array von Arrays. Zum Beispiel:

int x[3][4];

Hier ist x ein zweidimensionales Array, das 12 Elemente halten kann. Visualisieren Sie es als Tabelle mit 3 Zeilen und 4 Spalten.

Mehrdimensionale Arrays in C++ meistern: Deklaration, Initialisierung und Iteration

Dreidimensionale Arrays folgen derselben Logik:

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

Mit insgesamt 24 Elementen, berechnet durch Multiplikation der Dimensionen: 2 × 4 × 3 = 24.


Mehrdimensionale Array-Initialisierung

Wie eindimensionale Arrays können mehrdimensionale Arrays auf verschiedene Weisen initialisiert werden, aber Lesbarkeit ist wichtig. Die folgenden Abschnitte zeigen empfohlene Praktiken.

1. Zweidimensionale Array-Initialisierung

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

Während syntaktisch korrekt, ist dieser Stil schwer zu lesen. Bevorzugen Sie einen verschachtelten Initialisierer:

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

Dies macht die 2 Zeilen und 3 Spalten explizit.

Mehrdimensionale Arrays in C++ meistern: Deklaration, Initialisierung und Iteration

2. Dreidimensionale Array-Initialisierung

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

Wieder leidet die Lesbarkeit. Ein klarerer Ansatz gruppiert jede Dimension:

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

Beachten Sie, dass die erste Dimension zwei 3-Zeilen-Blöcke enthält, jeweils mit vier Spalten.


Beispiel 1: Zweidimensionales 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;
}

Ausgabe

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

Dieses Snippet demonstriert eine verschachtelte for-Schleife, die zuerst über Zeilen, dann Spalten iteriert und jedes Element ausgibt.


Beispiel 2: Eingabe für ein zweidimensionales Array entgegennehmen

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

Ausgabe

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 sammeln zwei verschachtelte Schleifen Benutzereingaben und zeigen dann die gespeicherten Werte an.


Beispiel 3: Dreidimensionales 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;
}

Ausgabe

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

Das Iterieren über ein 3-D-Array erfordert drei verschachtelte Schleifen – jede entspricht einer Dimension. Dieses Muster skaliert natürlich auf höhere Dimensionen, obwohl die Komplexität schnell wächst.

C Sprache

  1. C# Arrays meistern: Deklaration, Initialisierung und Operationen
  2. C# Mehrdimensionale Arrays: 2D Arrays mit Codebeispielen erklärt
  3. C# Jagged Arrays meistern: Deklaration, Initialisierung und Zugriff
  4. C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
  5. C++-Kommentare: Best Practices für lesbaren, wartbaren Code
  6. Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
  7. Java Array-Kopiertechniken: Umfassender Leitfaden
  8. C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
  9. C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
  10. MATLAB: Mehrdimensionale und spezielle Arrays meistern