линейный адрес матрицы
float m[4][5][6];
m[2][3][4] - ?
некий псевдокод для работы с массивом массивов массивов(кубом проще говоря)
type elem = matr[j][k];
если развернуть это дело в один массив, то работать с индексами нужно так:
type elem = matr[i*n1 + j*n2 + k];
п.с. нефиг даблы создавать, надо было уточнять вопрос в старой теме.
некий псевдокод для работы с массивом массивов массивов(кубом проще говоря)
type elem = matr[j][k];
если развернуть это дело в один массив, то работать с индексами нужно так:
type elem = matr[i*n1 + j*n2 + k];
п.с. нефиг даблы создавать, надо было уточнять вопрос в старой теме.
спасибо.
да, исходя из представления как куб - нужно найти линейный размер матрицы, данной в задаче, т.е. m[2][3][4] - ?
но я что-то всеравно не могу понять, ответ - должно быть число, именно математически посчитать необходимо (хоть и задание по программированию).
Возможно, что вы ищете число 2*3*4 = 24.
То бишь 24 элемента.
type elem = matr[i*n1 + j*n2 + k];
простите, а почему именно + k, а не +k*n3?
т.е. исходя из моей задачи, то решением ее будет:
float m[4][5][6];
m[2][3][4] - ?
m[2][3][4] = 2*4 + 3*5 + 4 = 8 + 15 + 4 = 27 ?
type elem = matr[i*n1 + j*n2 + k];
простите, а почему именно + k, а не +k*n3?
т.е. исходя из моей задачи, то решением ее будет:
float m[4][5][6];
m[2][3][4] - ?
m[2][3][4] = 2*4 + 3*5 + 4 = 8 + 15 + 4 = 27 ?
я там немного ошибся вверху... формула будет выглядеть так: i*(n*m) + j*m + k
смысл такой:
i*(n*m) - сместиться на i двумерных матриц
j*m - сместиться на j строк в матрице
k - сместиться на k символов в строке
type elem = matr[j][k]
type[] matr[n1 * n2 * n3];
type elem = matr[i*(n*m) + j*m + k];
а чему равно n? используемое во второй формуле (без индекса), если же вроде есть только n1, n2, n3... ?
ну блин, ну подумай немного n = n1, m = n2, z = n3...
Думаю, что немного неверно, и что на самом деле:
А значение n1 может понадобиться только в случае если нужно вычислить размер всего трёхмерного массива (или его последнего элемента).
или как понимаю z это k
так и необходимо вычислить линейный размер трехмерного массива!
По-моему достаточно очевидно:
если массив задан как matr[n1][n2][n3]
то его размер (т.е. количество элементов в нём) равен n1 * n2 * n3.