, 18 2021 . 10:59
+
Alexandrietz: : , . , . .
program Lab9;
{ , .
, . .}
uses
UnitRealization;
var
F, F1, F2: TextFile;
begin
if(ParamCount <> 3) then
Writeln(' .')
else
begin
try
Assign(F, ParamStr(1));
Assign(F1, ParamStr(2));
Assign(F2, ParamStr(3));
Reset(F);
if(SeekEOF(F)) then
begin
CloseFile(F);
Writeln(' .');
exit;
end;
except
on System.IO.IOException do
begin
Writeln(' ', ParamStr(1));
Exit;
end;
end;
CloseFile(F);
NaturalMerge(F, F1, F2);
end;
end.
Unit
UnitRealization;
Interface
Procedure NaturalMerge(const F, F1, F2: TextFile);
Implementation
Procedure NaturalMerge(const F, F1, F2: TextFile);
var
a, b, save_to, swap, subgroup_1, subgroup_2: Integer;
flag, flag_1, flag_2: Boolean;
begin
subgroup_1 := 10000;
subgroup_2 := 10000;
flag := False;
while(not(flag)) do
//(subgroup_1 <> 1) or (subgroup_2 <> 1)
begin
save_to := 1;
subgroup_1 := 0;
subgroup_2 := 0;
Reset(F);
Rewrite(F1);
Rewrite(F2);
Read(F, a);
Write(F1, a, ' ');
while(not(SeekEOF(F))) do
begin
Read(F, b);
if(a > b) then
begin
case save_to of
1: begin
save_to := 2;
subgroup_1 += 1;
end;
2: begin
save_to := 1;
subgroup_2 += 1;
end;
end;
end;
case save_to of
1: Write(F1, b, ' ');
2: Write(F2, b, ' ');
end;
a := b;
end;
if(save_to = 2) then
subgroup_2 += 1
else
subgroup_1 += 1;
CloseFile(F);
CloseFile(F1);
CloseFile(F2);
Rewrite(F);
Reset(F1);
Reset(F2);
Read(F1, a);
Read(F2, b);
while(not(SeekEOF(F1)) and not(SeekEOF(F2))) do
begin
if(a <= b) then
begin
Write(F, a, ' ');
Read(F1, a);
end
else
begin
Write(F, b, ' ');
Read(F2, b);
end;
end;
while(not(SeekEOF(F1))) do
begin
swap := a;
Read(F1, a);
if(not(SeekEOF(F1))) then
Write(F, swap, ' ')
else
Write(F, swap);
end;
while(not(SeekEOF(F2))) do
begin
swap := b;
Read(F2, b);
if(not(SeekEOF(F2))) then
Write(F, swap, ' ')
else
Write(F, swap);
end;
CloseFile(F);
CloseFile(F1);
CloseFile(F2);
if(subgroup_1 = 1) then
flag := True;
end;
Erase(F1);
Erase(F2);
end;
end.
- , , . , while , F1 F2. , F1, , F1, , . , . , , . F1 F2? , {5, 6, 7, 1, 2, 3}, {1, 2, 5, 6}. , ? PascalABC.NET
https://forum.sources.ru/index.php?showtopic=421525&view=findpost&p=3848255
:
.NET: