Advertisement
feihung

Untitled

Jan 12th, 2015
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. program Project1;
  2.  
  3. uses
  4. crt, DOS;
  5. type
  6. ptr = ^person;
  7. person = record
  8. id : integer;
  9. imie, partner : string;
  10. poziom : integer;
  11. dziecko1, dziecko2 : ptr;
  12. end;
  13. var
  14. i : integer;
  15. staticID : integer;
  16. root, dziecko : ptr;
  17.  
  18. procedure wyswietl( wezel : ptr);
  19. begin
  20. write(wezel^.imie, ' (', wezel^.id, ') - ');
  21. if ( wezel^.partner <> '' ) then
  22. write(wezel^.partner);
  23. writeln;
  24. if ( wezel^.dziecko1 <> nil ) then
  25. wyswietl(wezel^.dziecko1);
  26. if ( wezel^.dziecko2 <> nil ) then
  27. wyswietl(wezel^.dziecko2);
  28.  
  29.  
  30. end;
  31.  
  32. function szukajID( id : integer; wezel : ptr ) : ptr;
  33. begin
  34. result := nil;
  35. if ( id = wezel^.id ) then
  36. result := wezel
  37. else
  38. begin
  39. if ( wezel^.dziecko1 <> nil ) then
  40. result := szukajID( id, wezel^.dziecko1);
  41. if ( wezel^.dziecko2 <> nil ) then
  42. result := szukajID( id, wezel^.dziecko1);
  43. end;
  44.  
  45. end;
  46.  
  47. procedure dodajDane( var wsk : ptr );
  48. begin
  49. writeln('Podaj imie');
  50. readln(wsk^.imie);
  51. wsk^.id := staticID;
  52.  
  53. end;
  54.  
  55. procedure dodaj( id : integer );
  56. var
  57. wsk, wskD : ptr;
  58. begin
  59. inc(staticID);
  60. wsk := szukajID( id, root);
  61.  
  62. if (wsk^.dziecko1 = nil ) then
  63. begin
  64. new(wskD);
  65. dodajDane(wskD);
  66. wsk^.dziecko1 := wskD;
  67. end
  68. else if (wsk^.dziecko2 = nil ) then
  69. begin
  70. new(wskD);
  71. dodajDane(wskD);
  72. wsk^.dziecko1 := wskD;
  73. end
  74. else
  75. begin
  76. write('Nie mozna tutaj dodac dziecka');
  77. end;
  78.  
  79.  
  80. end;
  81.  
  82. procedure usun();
  83. begin
  84.  
  85. end;
  86. //******************************************************************************
  87. begin
  88. new(root);
  89. staticID := 0;
  90. root^.imie := 'root';
  91. root^.id := staticID;
  92. root^.poziom := 0;
  93. root^.partner := 'partner';
  94. root^.dziecko1 := nil;
  95. root^.dziecko2 := nil;
  96.  
  97. //wyswietl(root);
  98.  
  99.  
  100. readln;
  101. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement