uses crt;
const n=10;
m=10;
var a:array[1..n,1..m] of integer;
i,j,k:byte;
x:integer;
begin
clrscr;
randomize;
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(41)+10;
write(a[i,j]:4);
end;
writeln;
end;
writeln;
for i:=1 to n-1 do
for k:=i+1 to n do
if a[i,1]>a[k,1] then
for j:=1 to m do
begin
x:=a[i,j];
a[i,j]:=a[k,j];
a[k,j]:=x;
end;
writeln('Перестановка:');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
readln
end.
Вариант 2
uses crt;
const n=5; m=4;
var a:array[1..n,1..m]of integer;
i,j,s:integer;
procedure swap(n1,n2:integer);
var j,b:integer;
begin
for j:=1 to m do
begin
b:=a[n1,j];
a[n1,j]:=a[n2,j];
a[n2,j]:=b;
end;
end;
begin
clrscr;
randomize;
writeln('Исходный массив');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:3);
end;
writeln;
end;
for i:=1 to n do
for j:=1 to n-1 do if a[j,1]>a[j+1,1] then swap(j,j+1);
writeln('Преобразованный массив');
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j]:3);
writeln;
end;
readln;
end.