Program ma wczytywac drzewo o podanej z klawiatury liczbie elementóe wybranych losowo z zakresu do 10 ma wyświetlić to drzewo a następnie dodajemy kolejny element i wyswietlamy drzewo ponownie
Mam nadzieje że przejrzycie mój program i pomozecie mi odnaleźć błędy.
na razie tyle udało mi się wyskrobać
program drzewo_binarne;
uses crt;
type typdrzewo=^wezel;
wezel=record
dane:integer;
lewy,prawy:typdrzewo;
end;
var drzewo:typdrzewo;
i,liczba,a:integer;

{=========================WSTAW=========================}
procedure wstaw(var liczba:integer;var drzewo:typdrzewo);
begin
if drzewo=nil then
begin
new(drzewo);
if drzewo=nil then
exit;
drzewo^.dane:=liczba;
drzewo^.lewy:=nil;
drzewo^.prawy:=nil;
end

else if liczba<drzewo^.dane then
wstaw (liczba,drzewo^.lewy)
else wstaw(liczba,drzewo^.prawy);
end;
{=========================WYPISZ=========================}
procedure wypisz(var drzewo:typdrzewo);
begin
if drzewo<>nil then
begin
wypisz(drzewo^.lewy);
write(drzewo^.dane);
wypisz(drzewo^.prawy);
end;
end;

begin
randomize;
clrscr;
{drzewo:=nil;}
writeln('Program tworzy drzewo i wyswietla jego elementy');
writeln('0- wychodzi z programu');
write('Podaj liczbe wylosowanych wartosci ');
readln(a);
writeln('Wylosuj',a,'liczb');
for i:=1 to a do
liczba:=random(10);
for i:=1 to a do
writeln(liczba);
{begin
readln(liczba);
wstaw(liczba,drzewo);
end;}
writeln;
wypisz(drzewo);
readln;

while liczba<>0 do
begin
wstaw(liczba,drzewo);
writeln('Podaj liczbe');

readln(liczba);
end;

wypisz(drzewo);

readln;
end.