было решено тупо скопировать все элементы , а задем применить стандартную процедуру сортировки , выбран метод пузырька...
Constсобственно все отрабатывает, но результат несколько странен :
n = 8;
m = 7;
Type
TType = Integer;
arrType1 = Array[1 .. n] Of TType;
arrType2 = Array[1 .. m] Of TType;
arrType3 = Array[1 .. n+m] Of TType;
Const
a: arrType1 =
(99, 77, 55, 33, 11, 9, 7, 5);
b: arrType2 =
(88, 66, 44, 22, 10, 8, 6);
Procedure Bubble(Var source, sorted: arrType3);
Procedure SwapIndex(i, j: Integer);
Var
T: TType;
Begin
move(sorted[i], T, SizeOf(TType));
move(sorted[j], sorted[i], SizeOf(TType));
move(T, sorted[j], SizeOf(TType));
End;
Var
i, j: Integer;
Begin
move(source, sorted, SizeOf(arrType3));
For i := 1 To n+m Do
For j := n+m DownTo i Do
If sorted[Pred(j)] < sorted[j] { change here }
Then SwapIndex(Pred(j), j);
End;
Var
c,d: arrType3;
k: integer;
Begin
for k := 1 to n do
begin
c[k] := a[k];
end;
for k := 1 to m do
begin
c[k+n] := b[k];
end;
for k:=1 to m+n do write (c[k],' ');
Bubble(c, d);
writeln;
for k:=1 to m+n do write (d[k],' ')
End.
88 77 66 55 44 33 22 11 10 9 8 7 6 6 5
то есть пропало 99 и появилось двойное 6