Переписать наибольшие положительные элементы каждого столбца матрицы в одномерный массив - Pascal ABC
Формулировка задачи:
Решение задачи: «Переписать наибольшие положительные элементы каждого столбца матрицы в одномерный массив»
program myprog;
///Переписать наибольшие положительные элементы каждого столбца матрицы СX(m,n), в одномерный массив O
uses crt;
const
n = 7;
const
m = 7;
var
myArrCX: array[1..n, 1..m] of integer;
myArrO: array[1..n] of integer;
procedure fillmatrix();
var
i, j: integer;
begin
randomize;
Writeln('Заполняем матрицу случайными числами:');
for i := 1 to n do
for j := 1 to m do
myArrCX[i, j] := random(21) - 10;
for i := 1 to n do
begin
for j := 1 to m do
write(myArrCX[i, j], ' ');
writeln;
end;
end;
procedure findmaxpoloz();
var
i, j, kol, max: integer;
begin
max := 0;
kol := 0;
writeln('Находим положительные числа в матрице и выводим их на экран:');
for j := 1 to m do
begin
max := 1;
for i := 2 to n do
if myArrCX[i, j] > myArrCX[max, j] then
max := i;
kol := kol + 1;
writeln('В столбце', ' ', j, ' максимальный элемент = ', myArrCX[max, j]);
myArrO[kol] := myArrCX[max, j];
end;
writeln('Записываем элементы в отдельный массив');
for i := 1 to n do
write(myArrO[i], ' ');
end;
begin
fillmatrix();
findmaxpoloz();
end.
Объяснение кода листинга программы
В данном коде используется язык программирования Pascal ABC. Программа начинается с объявления необходимых переменных: n, m, myArrCX и myArrO. Далее идет процедура fillmatrix(), которая заполняет матрицу случайными числами. Затем следует процедура findmaxpoloz(), в которой происходит поиск наибольших положительных элементов каждого столбца матрицы и вывод их на экран. Внутри процедуры findmaxpoloz() используется цикл for, который проходит по каждому столбцу матрицы. Для каждого столбца находится максимальное положительное число, которое записывается в переменную max. Затем находится количество элементов в текущем столбце, которое записывается в переменную kol. В конце выводится на экран максимальный элемент столбца с помощью функции writeln(). После этого выводится сообщение о том, что найденные элементы записаны в отдельный массив. И наконец, с помощью функции write() выводятся элементы этого массива. Таким образом, данный код переписывает наибольшие положительные элементы каждого столбца матрицы в одномерный массив и выводит их на экран.