
помогите пожалуйста реализовать в Pascal ...
Uses
crt;
const
NN = 9;
MM = 10;
Type
Matrix =
array [1..NN, 1..MM] of Integer;
var
A : Matrix;
(* заполнение массива случайными элементами *)
Procedure RandMatr (var tmp: Matrix; r: integer);
Var
n,m : word;
begin
randomize;
For n:=1 to NN do
For m:=1 to MM do
tmp[n,m]:=random(r)
end;
(* вывод массива *)
Procedure PrintMatr (var tmp: Matrix);
Var
n,m : word;
begin
For n:=1 to NN do
begin
For m:=1 to MM do
write(tmp[n,m]:2,' ');
writeln
end
end;
(* сортировка *)
Procedure BubbleMatr (var tmp: Matrix);
var
i,j,t,m :word;
flagsort:boolean;
begin
for m:= 1 to MM do
begin
repeat
flagsort:=true;
for i:=1 to NN-1 do
if (tmp[i,m]>tmp[i+1,m]) then
begin
t:=tmp[i,m];
tmp[i,m]:=tmp[i+1,m];
tmp[i+1,m]:=t;
j:=i;
while (j>1)and (tmp[j-1,m]>tmp[j,m]) do
begin
t:=tmp[j,m];
tmp[j,m]:=tmp[j-1,m];
tmp[j-1,m]:=t;
dec(j);
end;
flagsort:=false
end;
until flagsort
end
end;
(* основная программа *)
begin
Clrscr;
RandMatr (A, 50);
PrintMatr (A);
writeln;
BubbleMatr (A);
PrintMatr (A);
Readkey
end.
if x mod 2 = 0 then {четный} else {нечетный}
Procedure Swap(var a,b: integer);
var tmp: integer;
begin tmp:=a; a:=b; b:=tmp end;
Procedure Bubble_flag(Var a: xmas; n: Integer);
Var i,j: integer; F: boolean;
Begin
i:=2;
F:=True;
while (i<=N) and F do
begin
F:=False;
J:=n;
while j>=i do
begin
if a[j-1]>a[j] then
begin
Swap(a[j-1],a[j]);
f:=True;
end;
dec(j);
end;
inc(i);
end;
End;
repeat
flag := true;
for i := 1 to n - 1 do
if not (x[i] <= x[i + 1]) then begin
T := x[i]; x[i] := x[i + 1]; x[i + 1] := T; flag := false;
end;
until flag;