TrofimovAnastasiya828
?>

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

Информатика

Ответы

Тарбаева1243
Отличная задачка, в одну строку.

// 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), который пропускает только отрицательные числа.
Все, что через фильтр, будет просуммировано при
И осталось только вывести результат при тут_сумма)
Вот и все.
damir
{
Переменные:
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.
iptsr4968
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    using namespace std;
    cout << "Enter size of array: ";
    int N;
    cin >> N;
    int * ARR = new int[N];
    srand(time(0));
    int i;
    for (i = 0; i < N; ++i)
        ARR[i] = rand() % 100 + 1;

    cout << "Here is an original array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    int temp = ARR[N - 1];
    for (i = N - 1; i > 0; --i)
        ARR[i] = ARR[i - 1];
    ARR[0] = temp;

    cout << "\nHere is a new array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    return 0;
}
alicia179

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вводится последовательность из n целых чисел. найти сумму всех отрицательных чисел.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

maslprod
salesrawtogo
АндреевичАндрей
kampina1
arutchevben64
Vladimirovich-Aleksandrovna96
Лихачев Полина1978
kv135549
lechic3
спец387
cleopatra1959
Zashchitin Denis
morozova4956
Аношкина1696
vera-sherepa231