#include <iostream>

int main()
{
    int width = 4, height = 4, depth = 4;

    int arr[width * height * depth];

    for (int i = 0, l = 0; i < depth; ++i)
    {
        for (int j = 0; j < height; ++j)
        {
            for (int k = 0; k < width; ++k)
            {
                arr[k + width * (j + depth * i)] = l++;
            }
        }
    }

    for (int i = 0; i < depth; ++i)
    {
        for (int j = 0; j < height; ++j)
        {
            for (int k = 0; k < width; ++k)
            {
                int** ptr = reinterpret_cast<int**>(&arr[0] + width * (j + depth * i));
                std::cout<<ptr[j][k];
            }
        }
    }

    return 0;
}