Дана матрица целых чисел MхN, строк M<=50, столбцов N<=30. Если максимальный элемент первой строки равен максимальному элементу последней строки, то переставить в обратной последовательности элементы последней строки, иначе вывести сообщение.
Решение на языке Pascal
var
arr: array[1..50,1..30] of integer;
max1, max2,b: integer;
i,j,M,N: byte;
begin
readln (M); //количество строк
readln (N); //количество столбцов
for i := 1 to M do
for j := 1 to N do
readln(arr[i,j]);
for i := 1 to M do begin
for j := 1 to N do
write(arr[i,j], ‘ ‘);
writeln;
end;
max1:= arr[1,1];
max2:= arr[M,1];
for i := 2 to N do begin
if arr[1,i] > max1 then
max1 := arr[2,i];
if arr[M,i] > max2 then
max2 := arr[M,i];
end;
if max1=max2 then
for i:=1 to N div 2 do
begin
b:=arr[M,i];
arr[M,i]:=arr[M,N-i+1];
arr[M,N-i+1]:=b;
end
else
writeln(‘No’);
for i := 1 to M do begin
for j := 1 to N do
write(arr[i,j], ‘ ‘);
writeln;
end;
end.