Подсчёт суммы элементов трехмерного массива - C (СИ)
Формулировка задачи:
Подскажите как посчитать сумму елементов трьохмерного массива и записать сумму каждой строки в одномерный массив. Я делаю так, но с трьохмерным массив сталкиваюсь впервые:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int const N = 5; int const M = 5; int const K = 5; int i; int j; int k; int Array[N][M][K]; int MultArray[N * M * K]; srand(time(NULL)); for(i = 0; i < N; i++) { for(j = 0; j < M; j++) { for(k = 0; k < K; k++) { Array[i][j][k] = rand()%100 + 1; } } } for(i = 0; i < N * M * K; i++) { MultArray[i] = 1; } for(i = 0; i < N; i++) { for(j = 0; j < M; j++) { for(k = 0; k < K; k++) { MultArray[i] += Array[i][j][k]; } } } return 0; }
Решение задачи: «Подсчёт суммы элементов трехмерного массива»
textual
Листинг программы
int MultArray[N * K]; for(i = 0; i < N * K; i++) { MultArray[i] = 1; for(j = 0; j<M; j++) MultArray[i] *= A[i % N] [j] [i / N]; }
Объяснение кода листинга программы
- Объявляется трехмерный массив MultArray размером N * K.
- В цикле происходит инициализация всех элементов массива MultArray единицами.
- Внутренний цикл выполняется для каждого элемента массива MultArray.
- Внутренний цикл выполняется для каждого элемента массива A[i % N] [j] [i / N].
- Результат умножения элементов массива A[i % N] [j] [i / N] и MultArray[i] сохраняется в MultArray[i].
- Цикл выполняется до тех пор, пока все элементы массива MultArray не будут обработаны.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д