Код на паскаль дан вектор а[1: 20] а) найти сумму положительных чисел и сумму отрицательных чисел б) найти произведение этой суммы на min элемент вектора. в) найти сумму элементов вектора между min и последним элементом вектора г) удалить 16-ый элемент вектора.
// Внимание! Если программа не работает, обновите версию!
// Не знаю, есть ли какая то разница между векторами и массивами в Паскале, поэтому написал с массивом
begin
var a:=ReadArrInteger('Введите элементы вектора', 20);
Writeln('Сумма положительных элементов -> ', a.Where(t -> t > 0).sum);
Writeln('Сумма отрицательных элементов -> ', a.Where(t -> t < 0).sum);
Writeln('Произведение суммы пложительных чисел на минимальный элемент -> ', a.Where(t -> t > 0).sum * a.Min);
Writeln('Произведение суммы отрицательных чисел на минимальный элемент -> ', a.Where(t -> t > 0).sum * a.Min);
Writeln('Сумма между min и последним элементом вектора -> ', a.Where((v,i)-> i > a.IndexMin).Sum);
a:= a[:15]+a[16:];
Writeln(a);
end.
//Внимание! Если программа не работает, обновите версию!
uses NumLibABC;
begin
var y:=ArrRandomReal(20,-10,10);
var mas:=y.Select(t->round(t*100)/100).ToArray;
var V:= new Vector(mas);
var b:=V.Value.Where(t->t>0).Sum;
Writeln('сумма положительных чисел=',b);
var t:=V.Value.Where(t->t<0).Sum;
Writeln('сумма отрицательных чисел=',t);
var a:=V.Value.Min; var promax:=a*b; var promin:=a*t;
Writeln('произведение суммы >0 на min элемент вектора=',promax);
Writeln('произведение суммы <0 на min элемент вектора=',promin);
var h:=V.Value.IndexMin;
var f:=V.Value.Where((V,I)->(I>h) and ( i< 20-1)).sum;
Writeln('суммa элементов вектора между min и последним
элементом=',f);
var p:=V.Value.Where((V,I)->(I<16) or (I>16));
Writeln('вектор без 16 элемента ->');p.Println;
end.