Водномерном массиве состоящем из n вещественных элементов, (n< =50) вычислить количество и произведение элементов массива, расположенных между максимальным и минимальным элементами
// 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.
// Внимание! Если программа не работает, обновите версию!
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