Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Составьте программу подсчета суммы элементов в каждой строке и каждом столбце двумерного массива. Число строк и столбцов произвольное. Массив задается с помощью функции случайных чисел.

Решение задачи: «Подсчет суммы элементов в каждой строке и каждом столбце двумерного массива»

textual
Листинг программы
#include <stdio.h>
#include <malloc.h>
#include <time.h>
#include <stdlib.h>
 
int main()
{
    #define N 4
    #define M 5
    
    srand(time(NULL));
    
    int sum_r[N] = {0, 0, 0, 0}; 
    int sum_c[M] = {0, 0, 0, 0, 0};
    int **matr;
    int i, j;
    
    matr = (int **) malloc(N * M * sizeof(int *));
    
    for(i = 0; i < N; ++i)
        matr[i] = (int *) malloc(M * sizeof(int));
    
    for(i = 0; i < N; ++i)
        for(j = 0; j < M; ++j)
            matr[i][j] = rand()%5-1+1;
    
    printf("2D Array:\n");
    
    for(i = 0; i < N; ++i)
    {
        for(j = 0; j < M; ++j)
        {
            printf("%d ", matr[i][j]);
        }
        printf("\n");
    }
    
    for(i = 0; i < N; ++i)
        for(j = 0; j < M; ++j)
            sum_r[i] += + matr[i][j]; 
    
    for(i = 0; i < M; ++i)
        for(j = 0; j < N; ++j)
            sum_c[i] = sum_c[i] + matr[j][i]; 
    
    for(i = 0; i < N; ++i)
        printf("Summa %d stroki: %d\n", i+1, sum_r[i]);
    printf("\n");
    
    for(i = 0; i < M; ++i)
        printf("Summa %d strolbca: %d\n", i+1, sum_c[i]);
    
    for(i = 0; i < N; ++i)
        free(matr[i]);
    free(matr);
    return 0;
}

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


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

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

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