File50. Даны два файла вещественных чисел с именами S1 и S2, элементы которых упорядочены по возрастанию. Объединить эти файлы в новый файл с именем S3 так, чтобы его элементы также оказались упорядоченными по возрастанию.
>
Решение Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | program File50; var S1,S2,S3: String; F1,F2,F3: File of Real; El1,El2:Real; begin Write('S1: '); Readln(S1); Write('S2: '); Readln(S2); Write('S3: '); Readln(S3); Assign(F1,S1); Assign(F2,S2); Assign(F3,S3); Reset(F1); Reset(F2); ReWrite(F3); Read(F1,El1); Read(F2,El2); while true do begin if El1<El2 then begin Write(F3,El1); if not (eof(F1)) then Read(F1,El1) else begin Write(F3,El2); break; end; end else begin Write(F3,El2); if not(eof(F2)) then Read(F2,El2) else begin Write(F3,El1); break; end; end; end; if not (Eof(F2)) then begin while not(eof(F2)) do begin Read(F2,El2); Write(F3,El2); end; end; if not (Eof(F1)) then begin while not(eof(F1)) do begin Read(F1,El1); Write(F3,El1); end; end; Close(F1); Close(F2); Close(F3); Readln; end. |
program file50;
var
f1,f2,f3,f4,fmin,fmax:file of integer;
s,s1,s2,s3,s0:string;
st,n1,n2,n3,i,i1:integer;
begin
s1:=’sb’;
s2:=’sa’;
assign(f1,s1);
assign(f2,s2);
reset(f1);
while not eof(f1) do begin
read(f1,i);
write(i,’ ‘);
end;
close(f1);
writeln();
reset(f2);
while not eof(f2) do begin
read(f2,i);
write(i,’ ‘);
end;
close(f2);
writeln();
writeln(‘enter sc name’);
read(s);
assign(f3,s);
reset(f1);reset(f2);
rewrite(f3);
read(f1,n1);read(f2,n2);
if n1n2 then begin write(f3,n2);n2:=n1;fmin:=f2;fmax:=f1;st:=2; end;
while ( (not eof(f1)) or (not eof(f2)) ) do begin
read(fmin,n1);
if n1n2 then begin
write(f3,n2); n2:=n1;
if st=1 then begin fmin:=f2;st:=2; continue;end;
if st=2 then begin fmin:=f1;st:=1;continue;end;
end;
if st=1 then fmax:=f2 else if st=2 then fmax:=f1;
if ( (eof(fmin)) and (not eof(fmax)) ) then
begin
write(f3,n2);
while not eof(fmax) do begin read(fmax,n2); write(f3,n2);end;
end;//endif
end;
close(f1);close(f2);close(f3);
writeln();
writeln();
reset(f3);
while not eof(f3) do begin
read(f3,i);
write(i,’ ‘);
end;
close(f3);
end.