С учетом
sometype array[XSIZE][YSIZE][ZSIZE];
тогда как одномерный массив, тогда, если у вас есть
x> = 0 и x = 0 и y = 0 и z
Index = ((x * YSIZE + y) * ZSIZE) + z; // Row major order, C/C++
Index = ((z * YSIZE + y) * XSIZE) + x; // Col major order
и для расчета индекса, учитывая x, y, z:
// For Row major order
z = Index % ZSIZE;
y = (Index / ZSIZE) % YSIZE;
x = Index / (ZSIZE * YSIZE);
// For Col major order
x = Index % XSIZE;
y = (Index / XSIZE) % YSIZE;
z = Index / (XSIZE * YSIZE);