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

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

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

1) Сумму всех элементов в каждой колонне

2 6 5 3 4 6 7 1 0 12 11 11

2) Количество единиц в строке(ряду)

1 0 0 = 1 1 1 1 = 3 1 0 1 = 2
#include <stdio.h>
#include <windows.h>
#define K 3
 
void kol_sum(int mass[][K]);
void kol(int mass[][K]);
 
int main()
{
    int i,j,mass[K][K];
    for(i=0;i<K;i++)
    {
        for(j=0;j<K;j++)
        {
            printf("mass[%d][%d] = ", i, j);
            scanf("%d", &mass[i][j]);
        }
    }
    printf("\n\n\n");
   
    for (i=0;i<K;i++)
    {
        for(j=0;j<K;j++)
             {
                   printf("%3d",mass[i][j]);
             }
             printf("\n");
   }
   printf("\n\n\n\n");
  
   kol_sum(mass);
   printf("\n\n\n\n");
 
   kol(mass);
   printf("\n\n\n\n");
   system("pause");
}
 
void kol_sum(int mass[][K])
{
     
}
 
[B]//данная функция считает количество единиц во всём массиве, а надо в каждом раду[/B]
void kol(int mass[][K])
{
     int i,j,count=0;
     for(i=0;i<K;i++)
     {
             for(j=0;j<K;j++)
             {
                     if(mass[i][j]==1)
                     {
                              count++;
                     }
             }
     }
     printf("%3d",count);                              
}

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

textual
Листинг программы
for ( i = 0 ; i < K ; ++i )
{
    for ( j = 0, cnt = 0 ; j < K ; ++j )
        if ( arr[i][j] == 1 )
            ++cnt;
    printf ("Count  1 in %d column = %d \n", i + 1, cnt);
}

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

В этом коде происходит подсчет количества единиц в каждом столбце матрицы. Вот список действий:

  1. for ( i = 0 ; i < K ; ++i ) - начинается цикл по строкам матрицы от 0 до K-1.
  2. for ( j = 0, cnt = 0 ; j < K ; ++j ) - начинается внутренний цикл по столбцам матрицы от 0 до K-1. Переменная cnt инициализируется как 0.
  3. if ( arr[i][j] == 1 ) - проверяется, является ли элемент матрицы равным 1. Если да, то выполняется следующее действие.
  4. ++cnt; - увеличивается значение переменной cnt на 1.
  5. printf (Count  1 in %d column = %d \n, i + 1, cnt) - выводится количество единиц в текущем столбце, увеличенное на 1, и номер этого столбца.
  6. После завершения внутреннего цикла, значение переменной cnt будет содержать количество единиц в текущем столбце.
  7. После завершения внешнего цикла, на экран будет выведено количество единиц в каждом столбце матрицы.

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


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

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

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