Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
1

Найти строку матрицы с наибольшей и наименьшей суммой элементов

29.10.2012, 17:36. Просмотров 2488. Ответов 8
Метки нет (Все метки)

Дан двумерный массив T [N; M]. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#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;
}

Скажите в чем ошибка,никак не пойму!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 17:36
Ответы с готовыми решениями:

Найти строку матрицы с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на...

Найти строку матрицы с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на...

Найти строку с наибольшей и наименьшей суммой элементов
Дан двумерный массив T .Найти строку с наибольшей и наименьшей суммой элементов.Вывести на печать...

Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой элементов. Вывести на...

Найти и продублировать столбец матрицы с наибольшей суммой элементов
Задан двумерный массив А из N строк и M столбцов. Найти и продублировать столбец с наибольшей...

8
valeriikozlov
Эксперт С++
4690 / 2516 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
29.10.2012, 19:11 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<stdio.h>
#include<conio.h>
#define N 10
#define M 10
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,\nStroka max sum= %d, sum element= %d,\n", imin,Smin,imax,Smax);
getch();
return 0;
}
1
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
30.10.2012, 18:41  [ТС] 3
Цитата Сообщение от valeriikozlov Посмотреть сообщение
for(j=0;j<m;j++)
* * S+=T[0][j];
Smax=Smin=S;
Для чего это,просто не до конца понял.
0
Koncord
5 / 5 / 1
Регистрация: 27.09.2012
Сообщений: 65
30.10.2012, 18:44 4
Попробуй почитать про сортировку массивов, может и поймешь
1
valeriikozlov
Эксперт С++
4690 / 2516 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
30.10.2012, 19:07 5
Цитата Сообщение от Максим1488 Посмотреть сообщение
Для чего это,просто не до конца понял.
см комментарии:
C++
1
2
3
for(j=0;j<m;j++)// в этом цикле вычисляем сумму элементов строки с индексом 0
 * * S+=T[0][j];
 Smax=Smin=S;// изначально принимаем что строки с минимальной и максимальной суммой элементов имеют индекс 0 (это в коде немного выше: imax=0,imin=0) и  сумма элементов этих строк равны S - сумме элементов строки с индексом 0
1
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
12.11.2012, 18:41  [ТС] 6
C
1
printf("Stroka min sum= %d, sum element= %d,\nStroka max sum= %d, sum element= %d,\n", imin,Smin,imax,Smax);
Мне здесь же надо вывести не номер строки,а именно всю строку,вот как это можно сделать?затруднения есть.
0
valeriikozlov
Эксперт С++
4690 / 2516 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
14.11.2012, 04:18 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#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
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
30.11.2012, 22:13  [ТС] 8
C
1
2
3
for(j=0;j<m;j++)
    S+=T[0][j];
Smax=Smin=S
Как еще можно записать это действие?другим способом имеется ввиду,что тут изменить надо?
0
valeriikozlov
Эксперт С++
4690 / 2516 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
01.12.2012, 00:12 9
Цитата Сообщение от Максим1488 Посмотреть сообщение
Как еще можно записать это действие?другим способом имеется ввиду,что тут изменить надо?
можно еще так:
C++
1
2
3
4
for(j=0;j<m;j++)
    S=S+T[0][j];
Smax=S;
Smin=S;
0
01.12.2012, 00:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2012, 00:12

Создать матрицу, вывести ее на экран и отсортировать по возрастанию строку с наименьшей суммой элементов (Pascal -> C)
Нужно перевести этот код: uses crt; const m=3; n=4; type mtr=array of integer;...

Найти строку матрицы с максимальной суммой модулей элементов
Помогите плиз, матрицу ввел а как искать все это не знаю &quot; Среди тех строк целочисленной матрицы...

Определить сумму нечетных элементов матрицы и найти строку с минимальной их суммой
Здравствуйте, очень нужна помощь с написанием программы, для меня тема указателей очень больная,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru