По заданной прямоугольной таблице получить линейную таблицу, содержащую максимальный элемент каждой строки - Free Pascal
Формулировка задачи:
По заданной прямоугольной таблице получить линейную таблицу, содержащую
максимальный элемент каждой строки.
Решение задачи: «По заданной прямоугольной таблице получить линейную таблицу, содержащую максимальный элемент каждой строки»
textual
Листинг программы
const m=6; n=5;
var
a: array [1..m,1..n] of Integer;
x: array [1..m] of Integer;
i, j, max: Integer;
begin
Randomize;
for i:=1 to m do begin
max:=1;
for j:=1 to n do begin
a[i,j]:=-50+random(101); Write(a[i,j]:4);
if a[i,max]<a[i,j] then max:=j;
end;
x[i]:=a[i,max]; WriteLn(' |',x[i]:4);
end;
end.
Объяснение кода листинга программы
- В начале программы объявляются переменные: — m — количество строк в таблице (равно 6); — n — количество столбцов в таблице (равно 5); — a — двумерный массив, представляющий исходную таблицу; — x — одномерный массив, который будет содержать максимальные элементы каждой строки; — i, j, max — вспомогательные переменные для поиска максимального элемента в строке.
- Затем инициализируется генератор случайных чисел и заполняется исходная таблица случайными отрицательными числами.
- Далее, для каждой строки таблицы выполняется цикл, который находит максимальный элемент в этой строке. Для этого используется вложенный цикл, который перебирает все столбцы строки.
- Если текущий элемент в строке больше максимального элемента, то максимальным становится текущий элемент, а его номер запоминается в переменной max.
- После завершения циклов, в одномерный массив x записывается максимальный элемент каждой строки.
- Выводится результат — линейная таблица с максимальными элементами каждой строки.