С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 06.10.2011
Сообщений: 28
1

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

07.10.2011, 15:05. Показов 876. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте
Прошу натыкать меня носом в код, не могу понять - что не так.
Вот задача: Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.
Pascal
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
45
46
47
48
49
50
51
52
53
54
55
56
57
program zad2_3;
uses crt;
type matr=array[1..10,1..10] of integer;
var i,m,n,j,s,smax,smin,imax,imin: integer;
    x:matr;
begin
clrscr;
  write('Kolichestvo strock: '); readln(n);
  write('Kolichestvo stolbzov: '); readln(m);
  for i:=1 to n do
    for j:=1 to m do
      begin
        write('x(',i,',',j,')='); readln(x[i,j]);
      end;                                         {Vveli matrizu}
  writeln('Matriza:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        write(x[i,j],' ');
        writeln;                                       {Viveli matrizu}
    end;
  for i:=1 to n do
    begin
      s:=0;
      for  j:=1 to m do
        s:=s+x[i,j];
        writeln('summa v stroke ',i,'=',s);
        if smax<s then            
          begin
            imax:=i;                          {zapisivaem adres max stroki}
            smax:=s;
          end;
    end;
   i:=imax;
   write('naibolshaya stroka: ');
    for j:=1 to n do
      write(x[i,j],' ');writeln;
                                                         {Проблемная область}
  for i:=1 to n do
    begin
    s:=0;
      for j:=1 to m do
        s:=s+x[i,j];
        if smin>s then        {цикл отличается от предыдущего только знаком, но не работает как надо }
          begin
           imin:=i;
           smin:=s;
          end;
    end;
  i:=imin;
  write('Naimenshaya stroka: ');
    for j:=1 to n do
      write(x[i,j],' ');readln;
                                                                 {/Проблемная область}
  writeln('smax:',smax:3); writeln('imax:',imax:3);          {test}
  writeln('smin:',smin:3); writeln('imin:',imin:3);readln;   {test}
end.
Мне кажется оно живое. Вероятно я что-то где-то не заметил. Если исправить не получится, то, если можно, хотелось бы увидеть вариант решения.
Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2011, 15:05
Ответы с готовыми решениями:

Процедуры: определить столбец с наибольшей суммой и заменить на строку с наименьшей суммой элементов
Всем привет, срочно помогите пожалуйста с программой. Я ее написал (вернее не я), но нужно оформить...

Матрица: Найти строки с наибольшей и наименьшей суммой элементов
Дана матрица А(nxm).Найти строки с наибольшей и наименьшей суммой элементов.Вывести найденные...

Прямоугольная матрица. Найти строки с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица размера m×n. Составить программу, которая находит строки с наибольшей и...

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

1
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
08.10.2011, 08:17 2
Pascal
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
45
46
47
48
49
50
51
52
53
54
55
program zad2_3;
uses crt;
type matr=array[1..10,1..10] of integer;
var i,m,n,j,s,smax,smin,imax,imin: integer;
    x:matr;
begin
clrscr;
write('Kolichestvo strock: '); readln(n);
write('Kolichestvo stolbzov: '); readln(m);
for i:=1 to n do
for j:=1 to m do
 begin
  write('x(',i,',',j,')=');
  readln(x[i,j]);
 end;
clrscr;                                        {Vveli matrizu}
writeln('Matriza:');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(x[i,j]:5);
  writeln;                                       {Viveli matrizu}
 end;
imax:=1; {найдем сумму в первой строке, она пока будет макс. и мин.}
imin:=1;
smax:=0;
for j:=1 to m do
smax:=smax+x[1,j];
smin:=smax;
writeln('summa v stroke 1=',smax);
for i:=2 to n do
 begin
  s:=0;
  for j:=1 to m do
  s:=s+x[i,j];
  writeln('summa v stroke ',i,'=',s);
  if smax<s then
   begin
    imax:=i;                          {zapisivaem adres max stroki}
    smax:=s;
   end
  else if smin>s  then
   begin
    imin:=i;                          {zapisivaem adres min stroki}
    smin:=s;
   end
 end;
writeln('naibolshaya summa v stroke ',imax,'=',smax);
for j:=1 to m do
write(x[imax,j],' ');
writeln;
writeln('naimenshaya summa v stroke ',imin,'=',smin);
for j:=1 to m do
write(x[imin,j],' ');
end.
1
08.10.2011, 08:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2011, 08:17
Помогаю со студенческими работами здесь

Составить блок-схему к программе обмена местами строк матрицы с наибольшей и наименьшей суммой элементов
Написать блок схему к этой программе. Заранее огромное спасибо)) В действительной матрице А(5;6)...

Дана матрица действительных чисел размера n×m. Найти номера строк с наибольшей и наименьшей суммой элементов
Дан двумерный динамический массив размера n×m. Найти номера строк с наибольшей и наименьшей суммой...

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

Поменять местами строку матрицы с наименьшей суммой элементов со строкой с наибольшей суммой элементов
Помогите плиз решить несколько задас на преобразование матриц на С++ 1.В действительной матрице...

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

Найти строки с наибольшей и наименьшей суммой элементов
Помогите рожалуйста: Дана прямоугольная матрица размера m×n. Составить программу, которая...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru