probowalem zrobic procedure, ktora przeniosla galaz w prawo, moje proby wygladaly nastepujaco:
procedure przenies(var p:wskaznik);
var nowy:wskaznik;
begin
if p^.rodzic=nil then
begin
writeln('to jest korzen!');
readln;
exit;
end;
new(nowy);
p^.rodzic:=p^.rodzic;
p^.tag:=p^.tag;
nowy^.pop:=nil;
nowy^.nast:=nil;
if p^.nast=nil then
begin
p^.nast:=nowy;
p^.pop:=p;
end
else
begin
p^.pop:=p;
nowy^.nast:=p^.nast;
p^.nast^.pop:=nowy;
p^.nast:=nowy;
end;
end;
lub bardziej topornie:
procedure przenies(var p:wskaznik);
begin
if p^.rodzic=nil then
begin
writeln('to jest korzen!');
readln;
exit;
end;
p^.rodzic:=p^.rodzic;
p^.tag:=p^.tag;
p^.nast:=p^.nast^.nast;
p^.pop:=p^.nast;
end;
kombinowalem takze, aby ta procedura robila tak z kazda galezia (rodzenstwem), ale nie wychodzilo.
Czy moglby ktos dac wskazowki, jak to zrobic, albo podeslac jakies pomocne materialy?