В массиве D(n), n≤25. вычислить полусумму наибольшего и наименьшего элементов. Переписать...

0 голосов
33 просмотров

В массиве D(n), n≤25. вычислить полусумму наибольшего и наименьшего элементов. Переписать в массив C сначала элементы, не большие полусуммы, а затем – большие. Вычислить отношение R=A/B, где A- сумма по абсолютной величине элементов первой части массива C , а B – сумма элементов второй части массива C


Информатика (22 баллов) | 33 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var d:=ArrRandom(ReadInteger('n='),-50,50); d.Println;
  var p:=(d.Min+d.Max)/2;
  var s1:=d.Where(t->t<=p);<br>  var s2:=d.Where(t->t>p);
  var R:=s1.Sum/s2.Sum;
  var c:=(s1+s2).ToArray;
  Writeln('Полусумма равна ',p,', R=',R);
  c.Println
end.

Пример
n= 13
28 8 49 50 39 -12 16 -8 43 -33 -7 -2 1
Полусумма равна 8.5, R=-0.235555555555556
8 -12 -8 -33 -7 -2 1 28 49 50 39 16 43
(150k баллов)