vinarsky_evgeny

Untitled

Dec 9th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.96 KB | None | 0 0
  1. {Винарский 17_4_а}
  2. program stack1(input,output);
  3.  
  4. type
  5.     stack=^node;
  6.     node=record
  7.           elem: integer;
  8.           next: stack
  9.          end;
  10.          
  11. function isempty(st: stack): boolean;
  12.   begin
  13.     isempty:=st=nil;
  14.   end;
  15.    
  16. procedure pushS(var s: stack; x: integer);
  17. var p: stack;
  18.   begin
  19.     new(p);
  20.     p^.elem:=x;
  21.     p^.next:=s;
  22.     s:=p;
  23.   end;
  24.  
  25. procedure popS(var s: stack; var x: integer);
  26. var p: stack;
  27.   begin
  28.     x:=s^.elem;
  29.     new(p);
  30.     p:=s;
  31.     s:=s^.next;
  32.     dispose(p);
  33.   end;
  34.  
  35. procedure reverse;
  36. var f: file of integer;
  37.     st: stack; c: integer;
  38. begin
  39.   assign(f,'input.txt');
  40.   rewrite(f);
  41.   read(c);
  42.   while(c<>0) do
  43.     begin
  44.       write(f,c);
  45.       read(c);
  46.     end;
  47.   reset(f);
  48.   while(not(eof(f))) do
  49.     begin
  50.       read(f,c);
  51.       pushS(st,c);
  52.     end;
  53.   while(not(isempty(st))) do
  54.     begin
  55.       popS(st,c);
  56.       write(c,' ');
  57.     end;
  58. end;
  59.  
  60. begin
  61.   reverse;
  62. end.
Advertisement
Add Comment
Please, Sign In to add comment