нужно найти сумму элементов главной и побочной диагоналей трёхмерного массива
int s = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j< n; ++j) {
s += A[i][j][i];
}
}
вот часть кода для нахождения суммы элементов главной диагонали трёхмерного массива. в чем ошибка? подскажите пожалуйста
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
для трехмерной матрицы это будет выглядеть как
int sum = 0
for (int i = 0; i < n; i ++) {
sum += matrix[i][i][i];
}
а вот побочных диагоналей, как я понимаю должно быть много?
sum1 += matrix[n-1-i][i][i];
sum2 += matrix[i][n-1-i][i];
sum3 += matrix[i][i][n-1-i];
ну и если массив одномерный (как обычно и делается), то тогда надо вычислять индекс по типу
const int index = i*n*n + i*n + i;
sum += matrix[index];