Witam. Mam napisać w Pascalu (:/) program w którym w trybie tekstowym za pomocą "iksów" będzie można narysować figurę, a następnie wyświetli się jej obwód i pole. Pole rysowania jest ograniczone do 50 wierszy i 50 kolumn. Wszystko wydaję się być ok a jednak po narysowaniu figury wywala mnie pokazując exit code 201... Help pls :(
program pole;
uses CRT;
var a,b,pierwszy,drugi,f,k,x,y,i,p,w: Integer;
var wyb: Char;
var t: array [10..50,5..50] of Boolean;
var xD: array [10..50,5..50] of Boolean;
begin
clrscr;
<i>{Rysowanie, Obwód}</i>
x:=10;
y:=5;
a:=0;
gotoXY(x,y);
write('x');
t[x,y]:=true;
repeat
repeat
wyb:=readkey;
wyb:=upcase(wyb);
until (wyb='W') or (wyb='S') or (wyb='A') or (wyb='D');
if wyb='W' then y:=y-1;
if wyb='S' then y:=y+1;
if wyb='A' then x:=x-1;
if wyb='D' then x:=x+1;
if x<10 then begin
x:=10; a:=a-1; end;
if x>50 then begin
x:=50; a:=a-1; end;
if y<5 then begin
y:=5; a:=a-1; end;
if y>50 then begin
y:=50; a:=a-1; end;
gotoXY(x,y);
write('x');
t[x,y]:=true;
a:=a+1;
until (x=10) and (y=5);
{Pole}
k:=9;
for w:=5 to 50 do begin <i>{wiersz}</i>
repeat
pierwszy:=0;
drugi:=0;
<i>{pierwsze przejście}</i>
if k=9 then begin
repeat
k:=k+1;
if t[k,w]=true then pierwszy:=k;
until pierwszy=k;
repeat
k:=k+1;
if (t[k,w]=true) and (t[k+1,w]=false) then drugi:=k;
until drugi=k;
for i:=pierwszy to drugi do xD[i,w]:=true;
end;
<i>{kolejne przejścia}</i>
repeat
k:=k+1;
if t[k,w]=true then pierwszy:=k;
until (pierwszy=k) or (k=50) or (k>50);
repeat
k:=k+1;
if (t[k,w]=true) and (t[k+1,w]=false) then drugi:=k;
until (drugi=k) or (k=50) or (k>50);
for i:=pierwszy to drugi do xD[i,w]:=true;
until (k=50) or (k>50);
end;
<i>{liczenie pola}</i>
for i:=5 to 50 do begin
for f:=10 to 50 do begin
if xD[f,i]=true then p:=p+1;
end;
end;
gotoXY(10,3);
writeln('Obwód wynosi ',a,',a pole ',p);
readln;
end.