
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)const
n = 9; //константа может быть любой
type
mas = array[0..n] of integer; //тип задал только для процедуры, без подпрограмм отдельный тип не нужен
procedure copy_mas(var a, b: mas);
var
i, i1: integer;
begin
i1 : = 0;
for i : = 0 to n do
if (a[i] > = 0) and (a[i] < = 10) then
begin
b[i1] : = a[i];
i1 += 1;
end;
end;