Заменить наименьший элемент каждой строки матрицы, начиная со второй, наибольшим элементом предыдущей строки. - Turbo Pascal

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

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

Код к задаче: «Заменить наименьший элемент каждой строки матрицы, начиная со второй, наибольшим элементом предыдущей строки. - Turbo Pascal»

textual
uses crt;
const nmax=15;
var a:array[1..nmax,1..nmax] of integer;
    m,n,i,j,jmn:byte;
    mn,mx:integer;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    a[i,j]:=random(20);
    write(a[i,j]:4);
   end;
  writeln;
 end;
for i:=n downto 2 do
 begin
  jmn:=1;
  for j:=2 to m do
  if a[i,j]<a[i,jmn] then jmn:=j;
  mx:=a[i-1,1];
  for j:=2 to m do
  if a[i-1,j]>mx then mx:=a[i-1,j];
  a[i,jmn]:=mx;
 end;
writeln('Измененная матрица');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
readln
end.

5   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ