To traverse a three-dimensional array, we use a two-dimensional loop within a loop. The outer loop controls the layer offset, and the inner loops control the row and column offsets. Our nested loop structure is as follows:
for( k = 0 ; k < size3D ; k++ ) { // k : 0..(size3D-1)
for( j = 0 ; j < size2D ; j++ ) { // j : 0..(size2D-1)
for( i = 0 ; i < size1D ; i++ ) { // i : 0..(size1D-1)
array2D[k][j][i] = (k*100) + (j*10) + i ;
}
}
}
Each element of array3D is assigned a value based on the offset values of i, j, and k.
What if we wanted to assign all the values of array2D to the last layer of array3D? Again, we would use nested loops, as follows:
for( j = 0; j < size2D ; j++ )
{
for( i = 0; i < size1D ; i++ )
{
array3D[(size3D-1)][j][i] = array2D[j][i] + (100*(size3D-1));
}
}
(size3D-1) is the offset of the last layer of the three-dimensional...