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