Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
var mas:array[1..15] of integer; i, max1, max2, min, c, d:integer;
begin c:=-1; max1:=-maxint; min:=maxint; max2:=-maxint; randomize; for i:=1 to N do mas[i]:=random(101)-50; write('Массив: '); for i:=1 to N do write(mas[i], ' '); writeln; for i:=1 to N do begin if (mas[i]>0) AND (mas[i]>max1) then max1:=mas[i]; if (mas[i] mod 2 <> 0) AND (max2<mas[i]) then begin c:=i; max2:=mas[i]; end; if (mas[i] mod 2 <> 0) AND (min>mas[i]) then begin d:=i; min:=mas[i]; end; end; writeln('Максимальный положительный элемент: ',max1); writeln('Минимальный нечетный элемент: ',min); writeln('Максимальный нечетный элемент: ',max2); if c<d then writeln('Максимальный элемент стоит раньше') else writeln('Минимальный элемент стоит раньше'); end.
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)