Дана матрица размера 4x7. Найти минимальное значение среди сумм элементов всех ее столбцов - C (СИ)
Формулировка задачи:
Дана матрица размера 4x7. Найти минимальное значение среди сумм элементов всех ее столбцов
Решение задачи: «Дана матрица размера 4x7. Найти минимальное значение среди сумм элементов всех ее столбцов»
textual
Листинг программы
#include<conio.h>
#include<stdio.h>
#define m 4
#define n 7
int main()
{
unsigned arr[m][n] = {{3,2,1,0,2,4,1},
{2,0,4,2,1,1,0},
{4,0,1,1,2,0,1},
{0,3,1,0,2,1,1}};
int i,j;
int sum,min=100;
for(j=0;j<n;j++)
{
sum=0;
for(i=0;i<m;i++)
{
sum+=arr[i][j];
}
if(sum<min)
{
min=sum;
}
printf("Summa elementov %d stolbca=%d ",j,sum);
printf("\n");
}
printf("Minim summa=%d ",min);
getch();
return 0;
};
Объяснение кода листинга программы
В данном коде происходит поиск минимального значения среди сумм элементов всех столбцов матрицы.
- Синтаксический анализ:
- Препроцессорные директивы:
#include<conio.h>- подключает библиотеку для работы с консолью;#include<stdio.h>- подключает библиотеку для работы с выводом в консоль.
- Определение размеров матрицы:
#define m 4- размер матрицы по строкам;#define n 7- размер матрицы по столбцам.
- Объявление переменных:
int main()- объявление функции, в которой будет происходить выполнение кода;unsigned arr[m][n]- объявление двумерного массива для хранения значений матрицы;int i,j;- объявление переменных для хранения индексов матрицы;int sum,min=100;- объявление переменных для хранения суммы элементов столбца и минимального значения.
- Препроцессорные директивы:
- Выполнение программы:
- Цикл по столбцам матрицы:
for(j=0;j<n;j++). - Внутри цикла инициализируется переменная
sumдля хранения суммы элементов текущего столбца. - Цикл по строкам матрицы:
for(i=0;i<m;i++). - Внутри цикла происходит добавление элементов в сумму
sum, а также проверка на обновление минимального значения. - После завершения циклов выводится сумма элементов текущего столбца.
- В конце программы выводится минимальное значение суммы элементов всех столбцов.
- Цикл по столбцам матрицы:
- Оптимальность алгоритма:
- В данном коде используется алгоритм перебора всех элементов матрицы для нахождения минимального значения суммы элементов столбца. Это алгоритм с временной сложностью O(mn), где mn - размер матрицы. Такой алгоритм является оптимальным для матриц размером до 100х100 элементов.