Найти строку матрицы с наибольшей и наименьшей суммой элементов - C (СИ) (76629)
Формулировка задачи:
Дан двумерный массив T [N; M]. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов
Скажите в чем ошибка,никак не пойму!
#include<stdio.h> #include<conio.h> #define N 10 #define M 10 main() {int i,j,n,m,Smax,Smin,imax,imin; int T[N][M]; int S=0; printf("vvedite kolichestvo strok i stolbcov",n,m); scanf("%d,%d", &n,&m); for(i=0;i<n;i++) {for (j=0;j<m;j++) scanf("%d",&T[N][M]);} for(i=0;i<n;i++) {for(j=0;j<m;j++) S=S+T[i][j]; if(S>Smax) {Smax=S; imax=i;} else if(S<Smin) {Smin=S; imin=i;} } for(i=0;i<n;i++) printf("%d,\n%d,\n%d,\n%d", T[imax],T[imin],Smax,Smin); getch(); return 0; }
Решение задачи: «Найти строку матрицы с наибольшей и наименьшей суммой элементов»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #define N 10 #define M 10 int main() {int i,j,n,m,Smax,Smin,imax=0,imin=0; int T[N][M]; int S=0; printf("vvedite kolichestvo strok i stolbcov"); scanf("%d%d", &n,&m); for(i=0;i<n;i++) {for (j=0;j<m;j++) scanf("%d",&T[i][j]);} printf("Masiv:\n"); for(i=0;i<n;i++) {for (j=0;j<m;j++) printf("%d ", T[i][j]); printf("\n"); } for(j=0;j<m;j++) S+=T[0][j]; Smax=Smin=S; for(i=1;i<n;i++) { S=0; for(j=0;j<m;j++) S=S+T[i][j]; if(S>Smax) {Smax=S; imax=i;} if(S<Smin) {Smin=S; imin=i;} } printf("Stroka min sum= %d, sum element= %d\n", imin,Smin); for(j=0;j<m;j++) printf("%d ", T[imin][j]); printf("\nStroka max sum= %d, sum element= %d\n", imax,Smax); for(j=0;j<m;j++) printf("%d ", T[imax][j]); getch(); return 0; }
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Пользователю предлагается ввести количество строк и столбцов для матрицы.
- Пользователь вводит элементы матрицы построчно.
- Выводится исходная матрица.
- Находится сумма элементов первой строки матрицы, и инициализируются переменные Smax и Smin этой суммой.
- Инициализируются переменные imin и imax значением 0, которые будут использоваться для поиска строки с минимальной и максимальной суммой элементов соответственно.
- Для каждой строки матрицы, начиная со второй строки, находится сумма ее элементов.
- Если эта сумма больше Smax, то обновляются значения Smax и imax.
- Если эта сумма меньше Smin, то обновляются значения Smin и imin.
- Выводится строка с минимальной суммой элементов.
- Выводится строка с максимальной суммой элементов.
- Код завершается.