Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Заменить все элементы, стоящие перед первым отрицательным элементом, на сумму отрицательных элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пользовательский класс Queue: как изменить порядок вывода элементов? http://www.cyberforum.ru/cpp-beginners/thread1823144.html
Привет всем такой вопрос возник перешел к изучению конструктора и деструктора вопрос заключаеться в том как сделать так чтоб указынные цифры в консоли шли в обратном порядке 1 19 20 10 вот...
C++ Посчитать сумму только положительных из трёх заданных чисел (сделать с использованием while) Посчитать сумму только положительных из трех данных чисел. http://www.cyberforum.ru/cpp-beginners/thread1823121.html
Прочитать числа из строки в массив C++
Как можно выписать в отдельный числовой массив числа из строки? Именно числа, а не цифры. К примеру строка: abc123d4gg56 Числовой массив: 123, 4, 56
C++ Вычислить и вывести на экран в виде таблицы значения функции
С++ .Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Х до Х , с шагом dX . (Формула на фото) Фунция А должна принимать действительное значение, если выражение (Ац...
C++ Циклический односвязный список с++ http://www.cyberforum.ru/cpp-beginners/thread1823033.html
Доброго времени суток! Помогите пожалуйста разобраться с циклическими списками, вроде все правильно написано, а все равно не работает... Спасибо за помощь. Задание: Многочлен P(x)=anxn + an-1xn-1...
C++ Выдаёт ошибку Данный код работает - считывает кс-грамматику из файла, если файл input.txt содержит S aAB E A aA bB B ACb b C A bA cC Если же добавить дополнительно в последнюю строчку S aAB E A aA bB B ACb... подробнее

Показать сообщение отдельно
gru74ik
Модератор
Эксперт CЭксперт С++
4168 / 1816 / 198
Регистрация: 20.02.2013
Сообщений: 4,953
Записей в блоге: 21
10.10.2016, 18:49
Dmitry_Trueno, как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Заменить все элементы, стоящие перед первым отрицательным
// элементом, на сумму отрицательных элементов
 
#include <iostream>
#include <algorithm>
 
int main()
{
    typedef int Item;
 
    const size_t ARR_SIZE = 10;
    Item arr[ ARR_SIZE ] = { 12, 32, 14, 46, -5, 27, -8, 22, 33, -3 };
 
    auto arr_beg = arr;
    auto arr_end = arr + ARR_SIZE;
 
    Item sum{};
    for ( const auto & elem : arr )
        if ( elem < 0 )
            sum += elem;
 
    auto first_neg_elem =
        std::find_if
            (
                arr_beg,
                arr_end,
                []( Item x ) { return x < 0; }
            );
 
    for ( auto it = arr_beg; it != first_neg_elem; ++it )
        *it = sum;
 
    for ( const auto & elem : arr )
        std::cout << elem << " ";
 
    return 0;
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru