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

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

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

помогите посчитать сумму каждого столбца матр если матр формирутся так
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 15
 
void InputMas(double M[][N], int n)
{
    int i, j;
    for(i=0; i<n; i++)
        for(j=0; j<n; j++)
        {
            if (i>j) M[i][j]=tan(i);
            if (i==j) M[i][j]=1/tan(i+j);
            if (i<j) M[i][j]=tan(j);  
        }
}
 
void PrintMas(double M[][N], int n)
{
    int i, j;
    for(i=0; i<n; i++)
     {
        for(j=0; j<n; j++)
        {
            printf(" %.2lf ",M[i][j]);
        }
        printf("\n");
    }
}
void Sum()
{
   //здесь должна быть ф-ция вычисления суммы каждого столбца и вывести миинимальную из них
}     
int main(void)
{
    double M[N][N];
    double S[N];
    int n, i,k;
    do
    {
        printf("Vvedite razmernost(do 15):");
        scanf("%d", &n);
    
        if (n>15 || n<=0) printf("Nedopustimaya razmernost\n");
    }while(n>15 || n<=0);
    InputMas(M, n);
    PrintMas(M, n);
    Sum(M, S, n);
    printf("\n");
    system("pause");
}

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

textual
Листинг программы
void Sum(double mas[][N])
{
    double sum[N];
    int i, j, imin;
    for(j = 0; j < N; ++j) 
    {
        sum[j] = mas[0][j];
        for(i = 1; i < N; ++i)
            sum += mas[i][j];
    }
    imin = 0;
    for(i = 1; i < N; ++i)
        if(sum[i] < sum[imin])
            imin = i;
    printf("Total in columns:");
    for(i = 0; i < N; ++i)
        printf("%.2lf ", sum[i]);
 
    printf("Minimal sum in %d column and equal %.2lf", imin, sum[imin]);
}

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

В этом коде реализуется функция, которая вычисляет сумму каждого столбца матрицы.

  1. Тип данных и параметры функции:
    • Тип данных функции: void.
    • Параметр функции: double mas[][N].
    • N - размерность матрицы.
  2. Объявление переменных:
    • double sum[N]; - массив для хранения суммы каждого столбца.
    • int i, j, imin; - целочисленные переменные для циклов.
  3. Вычисление суммы каждого столбца:
    • Цикл for для прохода по каждому столбцу матрицы (переменная j).
    • Переменная sum[j] инициализируется значением элемента mas[0][j].
    • Цикл for для прохода по остальным строкам матрицы (переменная i).
    • Значение каждого элемента mas[i][j] добавляется к sum[j].
  4. Поиск столбца с минимальной суммой:
    • Цикл for для прохода по всем столбцам матрицы (переменная i).
    • Если sum[i] меньше значения sum[imin], то imin обновляется значением i.
  5. Вывод результатов:
    • Вывод строки Total in columns: и всех значений sum[i] с пробелом между ними.
    • Вывод строки Minimal sum in %d column and equal %.2lf, где %d - значение переменной imin, и %.2lf - значение sum[imin].

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


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

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

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