home *** CD-ROM | disk | FTP | other *** search
- program t14;
- (* mischt zwei geordnete files zu einem geordneten file *)
- var f,g,h:file of integer;
- i:integer;
- endfg:boolean;
-
- procedure initf;
- var i:integer;
- begin
- rewrite(f,'f.dat');
- i:=1;
- while i<20 do
- begin f^:=i; put(f);i:=i+2; end;
- close(f);
- end;
-
- procedure initg;
- var i:integer;
- begin
- rewrite(g,'g.dat');
- i:=0;
- while i<=20 do
- begin g^:=i;put(g);i:=i+2;end;
- close(g);
- end;
-
-
- begin
- writeln('Mischen zweier Dateien f und g in die Datei h');
- initf;initg;
- reset(f,'f.dat');reset(g,'g.dat');rewrite(h,'h.dat');
- endfg:=eof(f) or eof(g);
- while not endfg do
- begin
- if f^<g^ then
- begin
- h^:=f^;get(f);
- endfg:=eof(f);
- end
- else begin
- h^:=g^;get(g);
- endfg:=eof(g);
- end;
- put(h);
- end;
- while not eof(g) do begin
- h^:=g^;put(h);get(g);end;
- while not eof(f) do begin
- h^:=f^;put(h);get(f);end;
- close(h);
- reset(h,'h.dat');
- while not eof(h) do begin
- i:=h^;
- write(i,' ');
- get(h);
- end;
- writeln;
- end.
-
-