Ну вот Вам полное решение второй задачи:
Код:
const
nmax=10;
type
matr=array[1..nmax,1..nmax] of integer;
var
x1,x2:matr;
i,j:Integer;
procedure Sort(X1s:matr; var X2s:matr);
var
k,m,temp:integer;
XX:matr;
z:array[1..nmax] of integer;
begin
for k:=1 to nmax do
z[k]:=X1s[k,k];
for k:=1 to nmax do
for m:=1 to nmax-k do
if z[m]>z[m+1] then
begin
temp:=z[m];
z[m]:=z[m+1];
z[m+1]:=temp;
end;
XX:=X1s;
for k:=1 to nmax do
XX[k,k]:=z[k];
X2s:=XX;
end;
begin
Randomize;
for i:=1 to nmax do
begin
for j:=1 to nmax do
begin
x1[i,j]:=50-Random(100);
write(x1[i,j]:4);
end;
writeln;
end;
writeln;
Sort(x1,x2);
for i:=1 to nmax do
begin
for j:=1 to nmax do
write(x2[i,j]:4);
writeln;
end;
readln
end.