Подсчёт суммы элементов трехмерного массива - 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];
 }

Объяснение кода листинга программы

  1. Объявляется трехмерный массив MultArray размером N * K.
  2. В цикле происходит инициализация всех элементов массива MultArray единицами.
  3. Внутренний цикл выполняется для каждого элемента массива MultArray.
  4. Внутренний цикл выполняется для каждого элемента массива A[i % N] [j] [i / N].
  5. Результат умножения элементов массива A[i % N] [j] [i / N] и MultArray[i] сохраняется в MultArray[i].
  6. Цикл выполняется до тех пор, пока все элементы массива MultArray не будут обработаны.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы