Введите с клавиатуры одномерный массив А (К), элементами которого являются положительные...

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

Введите с клавиатуры одномерный массив А (К), элементами которого являются положительные и отрицательные числа. Подсчитайте сумму положительных элементов массива и произведение отрицательных. Затем сформируйте новый массив В (К) из массива А (К), в котором все положительные элементы замените на произведение отрицательных, а отрицательные на сумму положительных.


Информатика (17 баллов) | 51 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var k:=ReadInteger('k=');
  var a:=ReadArrInteger('>',k);
  var sp:=a.Where(x->x>0).Sum;
  var po:=a.Where(x->x<0).Aggregate(BigInteger(1),(p,q)->p*q);
  var b:=a.Select(x->x>0?po:(x<0?sp:0)).ToArray;<br>  b.Println
end.

Пример
k= 10
> 9 20 -11 5 0 16 8 11 2 -17
187 187 71 187 0 187 187 187 187 71
(150k баллов)
0

Спасибо,большое!)

0

а где вопросительный знак, это что значит?