Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)
var a: array[1..999] of integer; n, sp, so, kp, ko: integer; begin read(n); for var i := 1 to n do begin a[i] := random(-9, 9); write(a[i], ' '); if a[i] > 0 then begin sp += a[i]; kp += 1; end; if a[i] < 0 then begin so += a[i]; ko += 1; end; end; writeln; writeln('Среднее арифметическое положительных чисел = ', sp/kp); writeln('Среднее арифметическое отрицательных чисел = ', so/ko); end.
Для данной сортировки используем алгоритм сортировки слиянием
В начале разбиваем арбузы на 2 группы по 2Каждую группу взвешиваем и сортируем (т.е. всего 2 взвешивания)Теперь собираем вместе, сравниваем сначала более легкие арбузы и находим самый легкий (всего 3 взвешивания)Теперь сравниваем тяжелый арбуз, что в группе с самым легким и более легкий из другой группы, и определяем второй по легкости (всего 4 взвешивания)Потом взвешиваем оставшиеся арбузы и докладываем их по порядку (всего 5 взвешивания)n, sp, so, kp, ko: integer;
begin
read(n);
for var i := 1 to n do begin
a[i] := random(-9, 9);
write(a[i], ' ');
if a[i] > 0 then begin
sp += a[i];
kp += 1;
end;
if a[i] < 0 then begin
so += a[i];
ko += 1;
end;
end;
writeln;
writeln('Среднее арифметическое положительных чисел = ', sp/kp);
writeln('Среднее арифметическое отрицательных чисел = ', so/ko);
end.