c++

Multidimensional Arrays in C++

A multidimensional array is an array that is more than just a single row of elements. It may have rows & columns, as in a 2D array, or may have 3D . All elements must be of the same data type. C++ starts counting at zero for the indexes of arrays.In C++, we can create an array of an array, known as a multidimensional array.

Syntax :

data_type  array_name[size1][size2]....[sizeN];

Two-dimensional array

The simplest form of the multidimensional array is the two-dimensional array. A two-dimensional array is, in essence, a list of one-dimensional arrays. To declare a two-dimensional integer array of size a,b you would write something as follows −

data_type array_name [ a ][ b ];

For example :

int x[3][4];

In the Example shown above x is 2D array of data type int and It can hold a maximum of 12 elements.

3D arrays also work in a similar way.

For example:

float x[3][4][6];

This array x can hold a maximum of 72 elements.

In order to find out the total number of elements in an array just simply multiply its dimensions: we have 72 see below.

3 * 4 * 6 = 72

Multidimensional Array Initialization

A Multidimensional Array can be initialize in more than one way.

Initialization of 2D array
int my array[2][3];
Initialization : We have many ways to initialize arrays.

Method 1:

int arr[2][3] = {4,7,9,11,16,19};

Method 2:

This way of initializing is preferred as you can visualize the rows and columns here.

int arr[2][3] = {{4,7,9} , {11,16,19}};

Accessing array elements:

arr[0][0] – first element
arr[0][1] – second element
arr[0][2] – third element
arr[1][0] – fourth element
arr[1][1] – fifth element
arr[1][2] – sixth element

Example: Two dimensional array in C++

#include <iostream> 

using namespace std;

int main() {
    int arr[2][3] = {{4,7,9}, {11,16,19}};
    for(int i = 0; i < 2; i++) {
        for(int j = 0; j < 3 ; j++) {
            cout << "arr[" << i << "][" << j << "]:
            " << arr[i][j] << endl;
        }
    } 
    return 0;
}

Output:

arr[0][0]: 4
arr[0][1]: 7
arr[0][2]: 9
arr[1][0]: 11
arr[1][1]: 16
arr[1][2]: 19

Three-dimensional array

int my array[2][3][2];

Initialization : We have many ways to initialize arrays.

Method 1:

int arr[2][3][2] = {1, -1 ,2 ,-2 , 3 , -3, 4, -4, 5, -5, 6, -6};

Method 2:

int arr[2][3][2] =
{
    { {11,-11}, {12, -12}, {13, -13}},
    { {14, -14}, {15, -15}, {16, -16}}
}

Example:

#include <iostream>
                
using namespace std;

int main() {
    // initializing the array
    
    int arr[2][3][2] =  { { {11,-11}, {12,-12}, {13,-13} },
                          { {14,-14}, {15,-15}, {16,-16} }
                        };
    
    // displaying array values
    for (int p = 0; p < 2; p++) {
        for (int q = 0; q < 3; q++) {
            for (int r = 0; r < 2; r++) {
                cout << arr[p][q][r] << " ";
            }
        }
    } 
    return 0;
}

Output:

11 -11 12 -12 13 -13 14 -14 15 -15 16 -16