# C++ Three Dimensional Array Programs

« Previous Program Next Program »

In this article, you will learn and get code to implement three dimensional (3D) array in C++. Here are the list of programs available in this article:

• Initialize and Print Three Dimensional (3D) Array
• Print Three Dimensional Array with Index
• Program to show, how to access elements of Three Dimensional Array ?
• Receive dimension and elements for 3D array from user and print the array

Note - A Three Dimensional (3D) array comes in the category of multi-dimensional array. Multi-dimensional array means array of arrays.

Note - A Three Dimensional (3D) array is a collection of Two Dimensional (2D) arrays.

Note - In 3D array, there are three dimensions (subscripts). The first shows block size, second for row size, and the third is for column size. Here row and column size is the dimension of 2D array. Whereas the block size shows how many numbers of 2D arrays. For example, if the dimension of 3D array is 3*4*2. Means 3 2D array of 4*2 dimension. Further means 3 2D array of size 4 rows and 2 columns.

## 3D Array Program in C++

This program initializes elements to three dimensional array named threeDimArr[][][] of size 3*4*2. After all the 24 elements gets initialized to it, we've printed the 3D array back on the output screen as shown in the program given below:

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

This program was build and run under Code::Blocks IDE. Here is its sample output:

Note - As you can see, there are three 2-dimensional array of size 4*2 each. That is, each two dimensional array contains 4 rows and 2 columns.

To print 3D array, you have to use three for loops. Third for loop (the innermost loop) forms 1D array, Second for loop forms 2D array and the third for loop (the outermost loop) forms 3D array.

In other word, the outermost (first) for loop is for block size, the second is for row size of 2D array, and the third is for column size of 2D array.

### Print 3D Array with Index

This program is similar to the previous program. In addition to the job done by previous program, this program prints all elements of 3D array along with indexes. So this program also shows how elements gets stored in 3D array:

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

The snapshot given below shows the sample output produced by this C++ program on three dimensional array:

### Access and Print Element of Three Dimensional Array

Now this C++ program shows how the element of a 3D array gets accessed. In this program, we've accessed three elements of 3D array with its index.

```#include<iostream>
using namespace std;
int main()
{
int i, j, k;
int a = {
{ {1, 2}, {3, 4}, {5, 6}, {7, 8} },
{ {9, 8}, {7, 6}, {5, 4}, {3, 2} },
{ {0, 3}, {5, 7}, {9, 2}, {4, 6} }
};
cout<<"a = "<<a<<endl;
cout<<"a = "<<a<<endl;
cout<<"a = "<<a<<endl;
cout<<endl;
return 0;
}```

Here is its sample output:

Note - In above program, a 1D array of two elements is constructed first. Then four such 1D arrays are placed one below the other to give a 2D array containing four rows. Then, three such 2D arrays are placed one behind the other to yield a 3D array containing three 2D arrays.

### Receive Elements of 3D Array from User

This program allows user to enter the dimension and then elements for 3D array. Based on user inputs, we've printed the 3D array back on the output screen:

```#include<iostream>
using namespace std;
int main()
{
int i, j, k, a;
int one, two, three;
cout<<"Enter the Dimension of 3D Array: ";
cin>>one>>two>>three;
cout<<"Enter "<<one*two*three<<" 3D Array Elements: ";
for(i=0; i<one; i++)
{
for(j=0; j<two; j++)
{
for(k=0; k<three; k++)
cin>>a[i][j][k];
}
}
cout<<endl;
for(i=0; i<one; i++)
{
for(j=0; j<two; j++)
{
for(k=0; k<three; k++)
cout<<a[i][j][k]<<"  ";
cout<<endl;
}
cout<<endl;
}
cout<<endl;
return 0;
}```

Here is its sample run with user input, 2, 3, 4 as dimensions and 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 as 24 3D array elements:

#### Same Program in Other Languages

C++ Online Test

« Previous Program Next Program »