// PascalABC.NET 3.2, сборка 1431 от 28.04.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-20,20).Select(i->i/10).ToArray; Write('Массив: '); a.Println; Writeln('Сумма элементов с нечетными номерами: ', a.Where((x,i)->i.IsEven).Sum); var i1:=a.FindIndex(x->x<0); var i2:=a.FindLastIndex(x->x<0); Write('Вторая искомая сумма: '); if i2=i1 then Writeln(0) else Writeln(a[i1+1:i2].Sum); Write('Сжатый массив: '); a:=a.Where(x->abs(x)>1).ToArray; a.Println; end.
Пример n= 10 Массив: 1.8 0.2 1 -2 0.1 0.4 -1 1.2 -1.4 0.6 Сумма элементов с нечетными номерами: 0.5 Вторая искомая сумма: 0.7 Сжатый массив: 1.8 -2 1.2 -1.4
//PascalABC.Net 3.2 {1} begin var a:=readArrinteger('Вводите: ', readinteger('n =')); write ('Ср. арифметическое: ', a.Average); end.
{2} begin var a:=readarrinteger('Водите: ', readinteger('n =')); var sum:=0; for var i:=0 to length(a)-1 do if i.isodd then sum+=a[i]; write ('Сумма: ', sum); end.
{3} begin var a:=readarrinteger('Вводите: ', readinteger('Кол-во элементов: ')); var otr:=0; var pol:=0; for var i:=0 to length(a)-1 do if a[i]<0 then otr+=1 else pol+=1; write('Массив: '); a.Println; if otr=pol then write ('Отрицательных и положительных элементов равное кол-во') else if otr>pol then write('Отрицательных больше на ', otr-pol) else write ('Положительных больше на ', pol-otr); end.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-20,20).Select(i->i/10).ToArray;
Write('Массив: '); a.Println;
Writeln('Сумма элементов с нечетными номерами: ',
a.Where((x,i)->i.IsEven).Sum);
var i1:=a.FindIndex(x->x<0);
var i2:=a.FindLastIndex(x->x<0);
Write('Вторая искомая сумма: ');
if i2=i1 then Writeln(0)
else Writeln(a[i1+1:i2].Sum);
Write('Сжатый массив: ');
a:=a.Where(x->abs(x)>1).ToArray; a.Println;
end.
Пример
n= 10
Массив: 1.8 0.2 1 -2 0.1 0.4 -1 1.2 -1.4 0.6
Сумма элементов с нечетными номерами: 0.5
Вторая искомая сумма: 0.7
Сжатый массив: 1.8 -2 1.2 -1.4
{1}
begin
var a:=readArrinteger('Вводите: ', readinteger('n ='));
write ('Ср. арифметическое: ', a.Average);
end.
{2}
begin
var a:=readarrinteger('Водите: ', readinteger('n ='));
var sum:=0;
for var i:=0 to length(a)-1 do if i.isodd then sum+=a[i];
write ('Сумма: ', sum);
end.
{3}
begin
var a:=readarrinteger('Вводите: ', readinteger('Кол-во элементов: '));
var otr:=0; var pol:=0;
for var i:=0 to length(a)-1 do if a[i]<0 then otr+=1 else pol+=1;
write('Массив: '); a.Println;
if otr=pol then write ('Отрицательных и положительных элементов равное кол-во') else
if otr>pol then write('Отрицательных больше на ', otr-pol) else
write ('Положительных больше на ', pol-otr);
end.