паскаль помогите пожалуйста мне ( не работает код)
program lab5;
uses crt;
const Nmax=100; Mmax=5000; Rmax=2000;
type ar1 = array[1..Nmax] of integer;
ar2 = array[1..Mmax] of integer;
ar3 = array[1..Rmax] of integer;
sa = array[1..1] of integer;
var x:ar1;
y:ar2;
z:ar3;
k,i,j,kol:byte;
f:text;
ch:char;
{----------------------------------------------}
Procedure waitEscape;
var ch:char;
begin
repeat
ch:=readkey;
until ord(ch)=27;
end;
{----------------------------------------------}
procedure load_vector(var x; path:string; n:byte);
var f:text;
i:byte;
begin
assign(f,path);
reset(f);
for i:=1 to n do
read(f,sa(x));
end;
{----------------------------------------------}
procedure veiw_vector(var x; n:byte);
var i:byte;
begin
for i:=1 to n do
write(sa(x),' ');
writeln;
end;
{----------------------------------------------}
procedure continue(var k:byte;ch:char);
begin
writeln('Do You Wish To Continue(Y,N)?');
writeln;
ch:=readkey;
k:=0;
if ch in ['n','N'] then
begin
Writeln('Are You Want To Exit(Y,N)?');
ch:=readkey;
if ch in ['y','Y'] then
k:=1
end;
end;
{----------------------------------------------}
function search_for_el(var x;n:byte):integer;
var i,j:byte;
k:byte;
cond:boolean;
begin
cond:=true;
i:=0;
j:=0;
while cond do
begin
inc(i);
j:=0;
while cond and (j<=n) do
begin
inc(j);
if sa(x)=sa(x)[j] then
if i<>j then
cond:=false;
end;
end;
search_for_el:=sa(x);
end;
{-----------------------------------------------}
procedure main(var x; n:byte);
var i,j:byte;
kol,n1:byte;
s:integer;
tmp:array[1..3] of integer;
begin
s:=search_for_el(x,n);
i:=1;
j:=1;
while i<4 do
begin
if sa(x)[j] <> s then
begin
tmp:=sa(x)[j];
sa(x):=s;
inc(i);
end;
inc(j);
end;
n1:=3-(j-i);
i:=n;
kol:=0;
while kol
begin
for j:=i downto 5 do
sa(x)[j]:=sa(x)[j-1];
inc(kol);
end
else
dec(i);
end;
for i:=4 to 6 do
sa(x):=tmp[i-3];
writeln;
end;
{----------------------------------------}
begin
clrscr;
load_vector(x,'l5m1.txt',10);
load_vector(y,'l5m2.dat',10);
load_vector(z,'l5m3.dat',10);
write('X:');
veiw_vector(x,10);
main(x,10);
write('X(a.c.):');
veiw_vector(x,10);
Writeln;
continue(k,ch);
if k=1 then
exit;
Writeln('-----------------------------------------------------------------');
write('Y: ');
veiw_vector(y,10);
main(y,10);
write('Y(a.c.): ');
veiw_vector(y,10);
writeln;
continue(k,ch);
if k=1 then
exit;
Writeln('-----------------------------------------------------------------');
write('Z: ');
veiw_vector(z,10);
main(z,10);
write('Z(a.c.): ');
veiw_vector(z,10);
writeln;
Writeln('Press Escape If You Want Exit');
WaitEscape;
end.