Для заданной матрицы найти номер столбца с минимальной суммой положительных элементов - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста решить задачу! Очень-очень надо
2.Для заданной матрицы найти номер столбца с минимальной суммой положительных элементов. Использовать подпрограмму для нахождения суммы в одном столбце.
Буду очень благодарна!!!!
Решение задачи: «Для заданной матрицы найти номер столбца с минимальной суммой положительных элементов»
textual
Листинг программы
const
size = 4; {Размер матрицы. Можно изменить}
type
matrix = array [1..size, 1..size] of integer;
function Sum(x: matrix; col: integer): integer;
var
i, s: integer;
begin
s := 0;
for i := 1 to size do
if x[i, col] > 0 then
s := s + x[i, col];
Sum := s
end;
var
a: matrix;
i, j, min, jmin: integer;
begin
Randomize;
min := MAXINT;
for i := 1 to size do
begin
for j := 1 to size do
begin
a[i, j] := -50 + Random(101);
Write(a[i, j]:6)
end;
WriteLn
end;
for i := 1 to size do
if (Sum(a, i) < min) and (Sum(a, i) <> 0) then
begin
min := Sum(a, i);
jmin := i
end;
WriteLn('Номер столбца с минимальной суммой положительных элементов = ', jmin, ' (Сумма = ', min, ')');
ReadLn
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
size- размер матрицы, который можно изменить;matrix- матрица целых чисел;Sum- функция, которая вычисляет сумму элементов заданного столбца матрицы;i,s- переменные для итерации по матрице и хранения суммы;jmin- переменная для хранения номера столбца с минимальной суммой;min- переменная для хранения минимальной суммы;a- массив для хранения значений элементов матрицы;Randomize- команда для инициализации генератора случайных чисел;j- переменная для итерации по строкам матрицы;min_sums- массив для хранения минимальных сумм положительных элементов;min_col- переменная для хранения номера столбца с минимальной суммой. В начале кода инициализируется генератор случайных чисел и вычисляется минимальная сумма положительных элементов матрицы. Затем заполняется матрица случайными числами. Далее происходит поиск столбца с минимальной суммой положительных элементов. Если такой столбец найден, то выводится его номер. В противном случае выводится сообщение об отсутствии такого столбца.