Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Винарский 17_4_а}
- program stack1(input,output);
- type
- stack=^node;
- node=record
- elem: integer;
- next: stack
- end;
- function isempty(st: stack): boolean;
- begin
- isempty:=st=nil;
- end;
- procedure pushS(var s: stack; x: integer);
- var p: stack;
- begin
- new(p);
- p^.elem:=x;
- p^.next:=s;
- s:=p;
- end;
- procedure popS(var s: stack; var x: integer);
- var p: stack;
- begin
- x:=s^.elem;
- new(p);
- p:=s;
- s:=s^.next;
- dispose(p);
- end;
- procedure reverse;
- var f: file of integer;
- st: stack; c: integer;
- begin
- assign(f,'input.txt');
- rewrite(f);
- read(c);
- while(c<>0) do
- begin
- write(f,c);
- read(c);
- end;
- reset(f);
- while(not(eof(f))) do
- begin
- read(f,c);
- pushS(st,c);
- end;
- while(not(isempty(st))) do
- begin
- popS(st,c);
- write(c,' ');
- end;
- end;
- begin
- reverse;
- end.
Advertisement
Add Comment
Please, Sign In to add comment