Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Винарский 17_2_a}
- program queue4(input,output);
- type
- list=^node;
- node=record
- elem: integer;
- next: list
- end;
- queue=record
- start: list;
- fin: list
- end;
- var f: file of integer;
- c,d,a,b: integer;
- och1,och2: queue;
- procedure init(var q: queue);
- begin
- q.start:=nil;
- q.fin:=nil
- end;
- function isempty(var q: queue): boolean;
- begin
- isempty:=q.start=nil;
- end;
- procedure pushQ(var q: queue; e: integer);
- var p: list;
- begin
- new(p);
- p^.elem:=e;
- p^.next:=nil;
- if(q.start=nil) then
- q.start:=p
- else
- q.fin^.next:=p;
- q.fin:=p;
- end;
- procedure popQ(var q: queue;var e: integer);
- var p: list;
- begin
- if(isempty(q)) then
- write('error')
- else
- begin
- new(p);
- e:=q.start^.elem;
- p:=q.start;
- q.start:=q.start^.next;
- dispose(p);
- if(q.start=nil) then q.fin:=nil;
- end;
- end;
- begin
- init(och1);
- init(och2);
- assign(f,'input.txt');
- readln(a,b);
- read(c);
- rewrite(f);
- while(c<>0) do
- begin
- if(c<a) then
- write(f,c)
- else
- if((c>=a) and (c<=b)) then
- pushQ(och1,c)
- else
- pushQ(och2,c);
- read(c);
- end;
- reset(f);
- while(not(eof(f))) do
- begin
- read(f,d);
- write(d,' ');
- end;
- while(not(isempty(och1))) do
- begin
- popQ(och1,c);
- write(c,' ');
- end;
- while(not(isempty(och2))) do
- begin
- popQ(och2,c);
- write(c,' ');
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment