Advertisement
machalda

Zasobnik

Jan 23rd, 2012
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.31 KB | None | 0 0
  1. program Zasobnik;
  2.  
  3. type tData = integer;
  4.      ukSeznam = ^seznam;
  5.      seznam = record
  6.      data:tData;
  7.      dalsi:ukSeznam;
  8. end;
  9.  
  10. var ukazatel:ukSeznam;
  11. var data:tData;
  12.  
  13. procedure init(var co:ukSeznam);
  14. begin
  15.      co:=nil;
  16. end;
  17.  
  18. function isEmpty(var co:ukSeznam):boolean;
  19. begin
  20.      if co=nil then
  21.      begin
  22.           isEmpty:=true;
  23.      end
  24.      else
  25.      begin
  26.           isEmpty:=false;
  27.      end;
  28. end;
  29.  
  30. procedure insert(var kam:ukSeznam;var hodnota:integer);
  31. var pom:ukSeznam;
  32. begin
  33.      new(pom);
  34.      pom^.data:= hodnota;
  35.      pom^.dalsi:=kam;
  36.      kam:=pom;
  37. end;
  38.  
  39. procedure vypis(var co:ukSeznam);
  40. var pom:ukSeznam;
  41. begin
  42.      pom:=co;
  43.      while (pom <> nil) do
  44.      begin
  45.           writeln(pom^.data);
  46.           pom:=pom^.dalsi;
  47.      end;
  48. end;
  49.  
  50. procedure odstran(var co:ukSeznam);
  51. var data:tData;
  52. var Odebrany: ukSeznam;
  53. begin { OdeberPrvek }
  54.   read(data);
  55.   while ukazatel <> nil  do
  56.   begin
  57.    if ukazatel^.data = data then
  58.    begin
  59.         Odebrany:=Ukazatel;
  60.         Dispose(Odebrany);
  61.    end;
  62.    Ukazatel:=Ukazatel^.Dalsi;
  63.   end
  64. end; { OdeberPrvek }
  65.  
  66. begin
  67. init(ukazatel);
  68. data:=1;
  69. while data <> 0 do
  70. begin
  71.  
  72.      readln(data);
  73.      insert(ukazatel,data);
  74. end;
  75. writeln('Vypisuju...');
  76. vypis(ukazatel);
  77. odstran(ukazatel);
  78. vypis(ukazatel);
  79.  
  80. readln;
  81. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement