Дана матрица размером m*n, переставляя ее строки и столбцы добиться того, чтобы наибольший элемент оказался в верхнем левом углу — Pascal(Паскаль)

uses crt;
Const m=3;n=4;
Type Matrica=array[1..m,1..n] of integer;
var Mas:Matrica;

Procedure Vvod(var Massiv:Matrica);
var i,j:integer;
begin
for i:=1 to m do
for j:=1 to n do
begin
write('Введите ',i,j,' элемент: ');
readln(Massiv[i,j]);
end;

writeln('Начальная матрица: ');
for i:=1 to m do
begin
write('|');
for j:=1 to n do
write(Massiv[i,j],' ');
writeln('|');
end;

end;

Procedure Sortirovka(var Massiv:Matrica);
var stroka,stolbec,max,i,j:integer;
masStolbec:array[1..m] of integer; {Столбец с мах элементом}
masStroka:array[1..n] of integer; {Строка с мах элементом}
begin
max:=Massiv[1,1];
stroka:=1;
stolbec:=1;
for i:=1 to m do
for j:=1 to n do
if Massiv[i,j]>max then
begin
max:=Massiv[i,j];
stroka:=i; {Столбец в котором находится мах элемент}
stolbec:=j; {Строка в котором находится мах элемент}
end;

{=======================Сортировка по столбцам===============================}

If stolbec<>1 then
begin
for i:=1 to m do
masStolbec[i]:=Massiv[i,stolbec]; {Запоминаем столбец с мах элементом}



for i:=stolbec downto 2 do {Сдвигаем столбцы}
for j:=1 to m do
Massiv[j,i]:=Massiv[j,i-1];


for i:=1 to m do {Первому столбцу присваиваем знач. столбца с мах элементом}
Massiv[i,1]:=masStolbec[i];

end; {if}

{=========================Сортировка по строкам==============================}

if stroka<>1 then
begin

for i:=1 to n do {Запоминаем стороку с мах элементом}
masStroka[i]:=Massiv[stroka,i];

for i:=stroka downto 2 do {Сдвигаем строки}
for j:=1 to n do
Massiv[i,j]:=Massiv[i-1,j];

for i:=1 to n do {Первой стороке присваиваем знач. строки с мах элемен.}
Massiv[1,i]:=masStroka[i];


end; {if}

{================================================= ===========================}

end;

Procedure Vivod(Massiv:Matrica);
var i,j:integer;
begin
writeln('Итоговая матрица: ');
for i:=1 to m do
begin
write('|');
for j:=1 to n do
write(Massiv[i,j],' ');
writeln('|');
end;

end;

Leave a Comment

+ 62 = 71