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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
turgash
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 7
#1

Вычислить суммы элементов массива - C++

26.12.2013, 13:25. Просмотров 195. Ответов 5
Метки нет (Все метки)

вычислить сумму нечетных положительных элементов массива x[10] и сумму отрицательных элементов, расположенных после последнего отрицательного.

помогите, пожалуйста. очень срочно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2013, 13:25     Вычислить суммы элементов массива
Посмотрите здесь:

Вычислить суммы элементов столбцов матрицы C++
C++ Вычислить суммы положительных элементов массивов
C++ Вычислить суммы положительных элементов в каждой строке двумерного массива
Вычислить суммы элементов массива до первого нуля (доработать) C++
C++ Вычислить суммы элементов столбцов матрицы
C++ Вычислить суммы элементов нижних треугольных матриц. Суммы вычислять в функции
Вычислить и вывести отдельно суммы положительных и суммы отрицательных элементов в каждой строк C++
C++ Вычислить суммы элементов главной и побочной диагоналей массива.
C++ Поиск суммы элементов массива и количества положительных элементов в нем
C++ В заданной матрице вычислить отношение суммы элементов побочной диагонали к количеству положительных элементов
Вычесть из суммы первых k элементов массива у сумму последних k его элементов C++
Вычислить суммы элементов по столбцам матрицы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serega_094
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 80
26.12.2013, 13:30     Вычислить суммы элементов массива #2
Цитата Сообщение от turgash Посмотреть сообщение
сумму отрицательных элементов, расположенных после последнего отрицательного
как ты вычислишь сумму отрицательных элементов после последнего, когда их там больше нет?
turgash
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 7
26.12.2013, 13:34  [ТС]     Вычислить суммы элементов массива #3
извиняюсь. *расположенных после последнего положительного
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
26.12.2013, 15:05     Вычислить суммы элементов массива #4
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <vector>
 
int main()
{
    std::vector<int> v = { 1234, 2313, -2314, 527, -214, -3214 };
    
    std::cout << std::accumulate(v.begin(), v.end(), 0,
        [](int init, const int &value) { 
            return init + (value & 1 && value >= 0 ? value : 0); 
        }
    );
    
    //auto negative = std::bind(std::greater_equal<int>(), std::placeholders::_1, 0);
    //auto it = std::find(v.rbegin(), v.rend(), negative);
    //std::cout << std::accumulate(v.rbegin(), it, 0,
    std::cout << std::accumulate(v.rbegin(), v.rend(), 0,
        [](int init, const int &value) { return init + std::min(0, value); });
    
    return EXIT_SUCCESS;
}
Найдите ошибку в коде плз, а то когда я на закоментированую часть меняю у меня столько ошибок в консоли что я начала не вижу (:

Добавлено через 2 минуты
SatanaXIII, что скажешь?
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
26.12.2013, 15:25     Вычислить суммы элементов массива #5
outoftime, find_if используй, вместо find.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
26.12.2013, 15:30     Вычислить суммы элементов массива #6

Не по теме:

Во я тупанул...


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <vector>
 
int main()
{
    std::vector<int> v = { 1234, 2313, -2314, 527, -214, -3214 };
    
    std::cout << std::accumulate(v.begin(), v.end(), 0,
        [](int init, const int &value) { 
            return init + (value & 1 && value >= 0 ? value : 0); 
        }
    ) << " ";
    
    auto positive = std::bind(std::greater_equal<int>(), std::placeholders::_1, 0);
    auto it = std::find_if(v.rbegin(), v.rend(), positive);
    std::cout << std::accumulate(v.rbegin(), it, 0,
        [](int init, const int &value) { return init + std::min(0, value); });
    
    return EXIT_SUCCESS;
}
Bash
1
2
3
4
5
D:\Projects\c++\help>make
g++ cyberforum.cpp -o run.exe -std=c++11 
 
D:\Projects\c++\help>run.exe
2840 -3428
Yandex
Объявления
26.12.2013, 15:30     Вычислить суммы элементов массива
Ответ Создать тему
Опции темы

Текущее время: 12:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru