Найти строку матрицы с наибольшей и наименьшей суммой элементов - 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;
}

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

В этом коде выполняется следующая последовательность действий:

  1. Пользователю предлагается ввести количество строк и столбцов для матрицы.
  2. Пользователь вводит элементы матрицы построчно.
  3. Выводится исходная матрица.
  4. Находится сумма элементов первой строки матрицы, и инициализируются переменные Smax и Smin этой суммой.
  5. Инициализируются переменные imin и imax значением 0, которые будут использоваться для поиска строки с минимальной и максимальной суммой элементов соответственно.
  6. Для каждой строки матрицы, начиная со второй строки, находится сумма ее элементов.
  7. Если эта сумма больше Smax, то обновляются значения Smax и imax.
  8. Если эта сумма меньше Smin, то обновляются значения Smin и imin.
  9. Выводится строка с минимальной суммой элементов.
  10. Выводится строка с максимальной суммой элементов.
  11. Код завершается.

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

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