Вводится последовательность из n целых чисел. найти сумму всех отрицательных чисел.

KoreanSun1109 KoreanSun1109    2   01.09.2019 01:10    4

Ответы
Vayton1337 Vayton1337  06.10.2020 08:57
Отличная задачка, в одну строку.

// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('S=',ReadSeqInteger(ReadInteger('n=')).Where(k->k<0).Sum)
end.

Пример
n= 8
34 -12 0 16 -5 -7 2 -9
S=-33

Пояснения
ReadInteger('n=') выдает подсказ 'n=' и организует ввод целого числа, мы обозначим его условно n.
ReadSeqInteger(n) обеспечивает получение с клавиатуры последовательности n целых чисел.
Эта последовательность проходит через фильтр .While(k->k<0), который пропускает только отрицательные числа.
Все, что через фильтр, будет просуммировано при
И осталось только вывести результат при тут_сумма)
Вот и все.
ПОКАЗАТЬ ОТВЕТЫ
olivka8 olivka8  06.10.2020 08:57
{
Переменные:
n - количество чисел;
i - переменная цикла;
x - очередное число;
sum - сумма отрицательных чисел.
}
program primer_1;
Var i,n,x,sum:integer;
Begin
Writeln('Введите длину последовательности N= ');
Readln(n);
Sum:=0;
For I:=1 to n do
Begin
Writeln('Введите ', i, '-ое число: ');
Readln(x);
if x < 0 then sum:=sum+x
end;
If sum = 0
then writeln('Отрицательных чисел нет.')
Else writeln('Сумма отрицательных чисел = ', sum);
End.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика