How to iterate a Multidimensional Array?

by:

Softwares


View Discussion

Improve Article

Save Article

Like Article

Multidimensional arrays are arrays that have more than one dimension. For example, a simple array is a 1-D array, a matrix is a 2-D array, and a cube or cuboid is a 3-D array but how to visualize arrays with more than 3 dimensions, and how to iterate over elements of these arrays? It is simple, just think of any multidimensional array as a collection of arrays of lower dimensions.

n-D array = Collection of (n-1)D arrays 

For example, a matrix or 2-D array is a collection of 1-D arrays.

2D Array is a collection of 1D Arrays

Similarly, you can visualize 3-D arrays and other multidimensional arrays.

How to iterate over elements of a Multidimensional array? 

It can be observed that only a 1-D array contains elements and a multidimensional array contains smaller dimension arrays.

  •  Hence first iterate over the smaller dimension array and iterate over the 1-D array inside it. 
  • Doing this for the whole multidimensional array will iterate over all elements of the multidimensional array.

Example 1: Iterating over a 2-D array

C++

#include <bits/stdc++.h>

using namespace std;

  

int main()

    

    int n = 3;

    int m = 3;

    int arr[][3]

        = 3, 2, 7 , 2, 6, 8 , 5, 1, 9 ;

  

    

    for (int i = 0; i < n; i++)

  

        

        for (int j = 0; j < m; j++)

  

            

            cout << arr[i][j] << " ";

        

        cout << endl;

    

    return 0;

Example 2: Iterating over a 3D array

C++

#include <bits/stdc++.h>

using namespace std;

  

int main()

    

    int x = 2, y = 2, z = 2;

    int arr[][3][2] = 1, 2 , 3, 4 ,

                         5, 6 , 7, 8 ;

  

    

    for (int i = 0; i < x; i++)

        cout << "Inside " << i + 1

             << " 2D array in 3-D array" << endl;

  

        

        for (int j = 0; j < y; j++)

            cout << "Inside " << j + 1

                 << " 1D array of the 2-D array" << endl;

  

            

            for (int k = 0; k < z; k++)

                cout << arr[i][j][k] << " ";

            

            cout << endl;

        

        cout << endl;

    

    return 0;

Output

Inside 1 2D array in 3-D array
Inside 1 1D array of the 2-D array
1 2 
Inside 2 1D array of the 2-D array
3 4 

Inside 2 2D array in 3-D array
Inside 1 1D array of the 2-D array
5 6 
Inside 2 1D array of the 2-D array
7 8 




Source link

Leave a Reply

Your email address will not be published.