Водномерном массиве состоящем из n вещественных элементов, (n< =50) вычислить количество и произведение элементов массива, расположенных между максимальным и минимальным элементами

STASік STASік    1   16.09.2019 06:10    0

Ответы
БродилаПоЛесу БродилаПоЛесу  07.10.2020 19:08
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=SeqRandom(ReadInteger('n='),-50,50).Select(n->double(n/10)).ToArray;
  a.ForEach(x->Write(x:0:1,' ')); Writeln;
  Writeln('Сумма отрицательных: ',a.Where(x->x<0).Sum);
  var p:=a.IndexMin;
  var q:=a.IndexMax;
  if p>q then Swap(p,q);
  Writeln('Произведение на интервале: ',
      a[p+1:q].Aggregate(1.0,(x,y)->x*y));
  Writeln('Сортировка:');
  a.Sort; a.ForEach(x->Write(x:0:1,' ')); Writeln;
end.

Пример
n= 13
1.7 -0.8 -1.3 -1.4 5.0 -3.1 -0.7 -2.7 2.6 -4.9 4.0 -2.0 -2.0
Сумма отрицательных: -18.9
Произведение на интервале: -15.2334
Сортировка:
-4.9 -3.1 -2.7 -2.0 -2.0 -1.4 -1.3 -0.8 -0.7 1.7 2.6 4.0 5.0
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика