Moim zadaniem jest napisanie programu Mrówka Langtona. W sumie to wszystko działa dobrze do pewnego momentu. w 1042 kroku program wywala błąd:
//Project My Application raised exception class 'External: SIGSEGV'.
In file 'project1.lpr' at line 84:
case p[pX,pY] of//
To jest ta procedura:
procedure RUSZ_MROWKE(var p: Tplansza; var pX,pY: integer; var obr: char; var kr: integer);
begin
inc(kr);
// sprawdzanie błędu...
if (pX>high(p)) or (pY>high(p[1])) then
begin
gotoXY(1,25);
writeln('pX=',pX,' pY=',pY,' obrot=',obr,' kroki=',kr);
end;
case p[pX,pY] of
false: MROWKA_W_LEWO(pX,pY,obr);
true: MROWKA_W_PRAWO(pX,pY,obr);
end;
p[pX, pY]:=not p[pX, pY];
end;
zmienne w tym momencie:
pX = 16777237
pY = 4
kroki = 1042
obrot = w prawo
W załączniku cały kod programu.
Proszę o pomoc w usunięciu tego błędu.