Даны два массива а и в размера 5, элементы которых по возрастанию. объединить эти массивы так, чтобы результирующий массив с(размеры 10) остался по возрастанию.
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016 begin var a:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('a=',a); var b:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('b=',b); var c:=new integer[10]; var i:=0; var j:=0; var k:=0; while (i<5) and (j<5) do begin if a[i]<b[j] then begin c[k]:=a[i]; Inc(i) end else begin c[k]:=b[j]; Inc(j) end; Inc(k) end; if i=5 then for var m:=j to 4 do begin c[k]:=b[m]; Inc(k) end else for var m:=i to 4 do begin c[k]:=a[m]; Inc(k) end; Writeln('c=',c) end.
begin
var a:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('a=',a);
var b:=SeqRandom(5,10,99).Sorted.ToArray; Writeln('b=',b);
var c:=new integer[10];
var i:=0; var j:=0; var k:=0;
while (i<5) and (j<5) do begin
if a[i]<b[j] then begin c[k]:=a[i]; Inc(i) end
else begin c[k]:=b[j]; Inc(j) end;
Inc(k)
end;
if i=5 then
for var m:=j to 4 do begin c[k]:=b[m]; Inc(k) end
else
for var m:=i to 4 do begin c[k]:=a[m]; Inc(k) end;
Writeln('c=',c)
end.
Тестовое решение:
a=[14,53,78,86,89]
b=[35,57,63,85,94]
c=[14,35,53,57,63,78,85,86,89,94]