Дана прямоугольная матрица A(nxm). Заменить наименьший элемент каждой строк - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дана прямоугольная матрица A(nxm). Заменить наименьший элемент каждой строк, начиная со второй, наибольшим элементом предыдущей строки. Нашел такой код, не получилось его подправить, постоянно выдает ошибки(нужно было добавить заполнение и оформление, по словам автора, что и не вышло)

Решение задачи: «Дана прямоугольная матрица A(nxm). Заменить наименьший элемент каждой строк»

textual
Листинг программы
const n=4;m=9;
type mas=array[1..m] of integer;
     matr=array[1..n] of mas;
var a:matr;i,j,tmp:integer;
procedure vv_mas(var x:matr;s:string;f:boolean);
var i,j:integer;
begin
 writeln(s);
 for i:=1 to n do
  begin
   for j:=1 to m do
    begin
     if f then x[i,j]:=random(11);
     write(x[i,j]:3)
    end;
   writeln
  end 
end;
function maxmin_s(x:mas;f:boolean):integer;
var i,mm:integer;
begin
 mm:=x[1];
 for i:=2 to m do if (x[i]>mm)=f then mm:=x[i];
 maxmin_s:=mm
end;
begin
 randomize;
 vv_mas(a,'исходная:',true);
 for i:=n downto 2 do
  begin
   tmp:=maxmin_s(a[i],false);
   for j:=1 to m do if tmp=a[i,j] then a[i,j]:=maxmin_s(a[i-1],true)
  end; 
 vv_mas(a,'полученная:',false) 
end.

Объяснение кода листинга программы

В данном коде происходит замена наименьшего элемента каждой строки в прямоугольной матрице.

  1. В начале кода определяются переменные n и m, которые задают количество строк и столбцов в матрице соответственно.
  2. Затем определяется тип данных mas, который представляет собой массив целых чисел.
  3. Далее определяется переменная matr, которая представляет собой матрицу размером n на m.
  4. В процедуре vv_mas происходит вывод исходной матрицы с помощью функции writeln. Затем происходит итерация по каждой строке матрицы. Для каждого элемента строки происходит проверка условия f, если которое выполняется, то элемент заменяется на случайное число, сгенерированное функцией random(11). После этого выводится значение элемента.
  5. Функция maxmin_s принимает массив целых чисел x и параметр f, который указывает, должен ли наибольший элемент быть найден или нет. Функция инициализирует переменную mm значением первого элемента массива x. Затем происходит итерация по каждому элементу массива x, начиная со второго. Если текущий элемент больше мм, то значение мм обновляется. В конце функция возвращает максимальное значение.
  6. В основной части кода происходит итерация по каждой строке матрицы, начиная со второй. Для каждой строки вызывается функция maxmin_s, которая заменяет наименьший элемент на максимальное значение из предыдущей строки или из самой первой строки. Выводится полученная матрица.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы