Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
N = 15;
Var
A:array[1..N] of integer;
i:integer;
P:real;
Begin
P:=1;
Randomize;
Write('Исходный массив:');
For i:=1 to N do
Begin
A[i]:=random(21)-10;
Write(' ',A[i]);
P:=P*A[i]
End;
WriteLn;
WriteLn('P = ',P);
End.
Const
N = 20;
Var
A:array[1..N] of integer;
i:integer;
P:real;
Begin
P:=1;
Randomize;
Write('Исходный массив:');
For i:=1 to N do
Begin
A[i]:=random(21)-10;
Write(' ',A[i]);
P:=P*A[i]
End;
WriteLn;
Write('Элементы, кратные пяти:');
For i:= 1 to N do
if A[i] mod 5 = 0 then Write(' ',A[i])
End.
Var
A:array[1..10000] of integer;
i,n:integer;
S:real;
Begin
Randomize;
Write('n = ');ReadLn(n);
Write('Исходный массив:');
For i:=1 to N do
Begin
A[i]:=random(31);
Write(' ',A[i]);
if i mod 2 <> 0 then S:=S+A[i]
End;
WriteLn;
WriteLn('Sr = ',S/((n div 2)+(n mod 2)));
End.