Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2017, 20:43   #1
potrah
Новичок
Джуниор
 
Регистрация: 03.12.2017
Сообщений: 2
По умолчанию [Pascal] В произвольном массиве столбец с наименьшей суммой элементов вывести в отдельный одномерный массив

Задача звучит так:В произвольном массиве столбец с наименьшей суммой элементов вывести в отдельный одномерный массив.Я написал программку,но она не считает сумму элементов и выводит последний столбец.Нужна помощь.Вот код программы:


Код:
program a3;
uses crt;
type mas2=array[1..100,1..100] of integer;
     mas1=array[1..100] of integer;
var i,n,j,m,s,min:integer;
    a:mas2;
    b:mas2;
    c:mas1;
    d:mas2;
begin
     clrscr;
     write('vvedite n=');
     readln(n);
     write('vvedite m=');
     readln(m);
     writeln;
     randomize;
     for i:=1 to n do begin
         for j:=1 to m do begin
             a[i,j]:=random(40);
             write(a[i,j]:5);
         end;
     writeln;
     end;
     writeln;
     for i:=1 to n do begin
         for j:=1 to m do begin
             write('a[',i,',',j,']=');
             readln(a[i,j]);
         end;
     end;
     for i:=1 to n do begin
         for j:=1 to m do begin
             write(a[i,j]:4);
         end;
     writeln;
     end;
     for j:=1 to 1 do begin
         for i:=1 to n do begin
             min:=min+a[i,j];
         end;
     end;
     for j:=2 to m do begin
         for i:=1 to n do begin
             s:=s+a[i,j];
             if s<min then min:=s;
         end;
     end;
     writeln;
     for i:=1 to n do begin
	write(a[i,j]:4);
     end;	
     readln;
end.

Последний раз редактировалось Аватар; 03.12.2017 в 20:50.
potrah вне форума Ответить с цитированием
Старый 04.12.2017, 07:47   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
но она не считает сумму элементов
Считает, только неправильно - программа берёт сумму элементов всей матрицы, а не текущего столбца. Нужно обнуление суммы добавить в цикле по столбцам перед циклом по строкам.

Цитата:
и выводит последний столбец
Это потому что обращение идёт к A[i, j], а j в этот момент равно m. Вместо j Нужно использовать индекс столбца с минимальной суммой
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В массиве найти строку с минимальной суммой элементов и строку с максимальной суммой элементов. не понимаю как делать avtivo4ka Паскаль, Turbo Pascal, PascalABC.NET 2 14.06.2016 21:34
Упорядочить по возрастанию строку с наименьшей суммой элементов. kaznachey1993 Помощь студентам 2 28.01.2012 21:49
Упорядочить по возрастанию строку с наименьшей суммой элементов kaznachey1993 Помощь студентам 6 24.01.2012 22:27
Как вывести на экран номер строки с максимальной суммой элементов и номер столбца с минимальной суммой? Vetal888888 C# (си шарп) 4 20.12.2011 13:46
В квадратной матрице найти столбец с максимальной суммой и строку с максимальной суммой (Pascal) Alexey355 Помощь студентам 1 26.03.2011 14:06