в общем , была поставлена задача : есть два массива упорядоченных по убыванию, создать массив ,состоящий из всех элементов исходных массивов , также упорядоченный по убыванию ...
было решено тупо скопировать все элементы , а задем применить стандартную процедуру сортировки , выбран метод пузырька...
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.
Можно ссылку на тот топик, откуда ты это скопировал? Я хочу посмотреть, ЧТО там написано (в каких случаях применять этот метод)... Вот ссылка на метод пузырька для твоего случая: http://forum.pascal.net.ru/index.php?s=&showtopic=3065&view=findpost&p=27328
А в программе достаточно просто сделать:
For j := n+m DownTo i + 1 Do { <--- Здесь }
Действительно, в приаттаченом файле к тому сообщению имел место небольшой недочет. Ошибка исправлена.