Witam, testuje ten algorytm na tablicy 2 wymiarowej. Kod podany poniżej:
Program project1;
uses crt;
var tab:array [1..10,1..10] of integer;
y,x,a,b:integer;
procedure init () ;
var i,j:integer;
begin
for i:=1 to 10 do
begin
for j:=1 to 10 do
begin
tab[i,j]:=0;
end;
end;
end;
procedure show ();
var i,j:integer;
begin
for i:=1 to 10 do
begin
for j:=1 to 10 do
begin
if tab[i,j]= 9 then
TextColor(12);
write(tab[i,j],' ');
TextColor(15);
end;
writeln();
end;
end;
procedure miny();
var i:integer;
begin
for i:=1 to 40 do
begin
tab[Random(10),Random(10)]:=1;
end;
end;
procedure zmien (y,x:Integer);
begin
if (x>0)and(x<11)and(y>0)and(y<11) then
begin
if tab[y,x]<>1 then
begin
tab[y,x] :=9;
zmien(y+1,x);
zmien(y,x+1);
zmien(y-1,x);
zmien(y,x-1);
end;
end;
end;
begin
a:=1;
b:=-1;
init();
// miny();
show();
writeln('Podaj wspolrzedne Y');
readln(y);
writeln('Podaj wspolrzedne X');
readln(x);
zmien(y,x);
show();
readln();
end.
Używam lazarusa, i gdy wykonuje program dostaje wiadomość.
raised exception class 'external sigsegv'
wstawienie kodu do posta, zamiana znacznika <quote> na <code>, poprawienie tytułu wątku i tagów
- @furious programming
<code>
, a nie<quote>
; Jeżeli nie będziesz stosował się do tych zaleceń - wątki będą lądować w koszu;