Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- uses
- crt, DOS;
- type
- ptr = ^person;
- person = record
- id : integer;
- imie, partner : string;
- poziom : integer;
- dziecko1, dziecko2 : ptr;
- end;
- var
- i : integer;
- staticID : integer;
- root, dziecko : ptr;
- procedure wyswietl( wezel : ptr);
- begin
- write(wezel^.imie, ' (', wezel^.id, ') - ');
- if ( wezel^.partner <> '' ) then
- write(wezel^.partner);
- writeln;
- if ( wezel^.dziecko1 <> nil ) then
- wyswietl(wezel^.dziecko1);
- if ( wezel^.dziecko2 <> nil ) then
- wyswietl(wezel^.dziecko2);
- end;
- function szukajID( id : integer; wezel : ptr ) : ptr;
- begin
- result := nil;
- if ( id = wezel^.id ) then
- result := wezel
- else
- begin
- if ( wezel^.dziecko1 <> nil ) then
- result := szukajID( id, wezel^.dziecko1);
- if ( wezel^.dziecko2 <> nil ) then
- result := szukajID( id, wezel^.dziecko1);
- end;
- end;
- procedure dodajDane( var wsk : ptr );
- begin
- writeln('Podaj imie');
- readln(wsk^.imie);
- wsk^.id := staticID;
- end;
- procedure dodaj( id : integer );
- var
- wsk, wskD : ptr;
- begin
- inc(staticID);
- wsk := szukajID( id, root);
- if (wsk^.dziecko1 = nil ) then
- begin
- new(wskD);
- dodajDane(wskD);
- wsk^.dziecko1 := wskD;
- end
- else if (wsk^.dziecko2 = nil ) then
- begin
- new(wskD);
- dodajDane(wskD);
- wsk^.dziecko1 := wskD;
- end
- else
- begin
- write('Nie mozna tutaj dodac dziecka');
- end;
- end;
- procedure usun();
- begin
- end;
- //******************************************************************************
- begin
- new(root);
- staticID := 0;
- root^.imie := 'root';
- root^.id := staticID;
- root^.poziom := 0;
- root^.partner := 'partner';
- root^.dziecko1 := nil;
- root^.dziecko2 := nil;
- //wyswietl(root);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement