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

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

Восстановить пароль Регистрация
 
turgash
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 7
26.12.2013, 13:25     Вычислить суммы элементов массива #1
вычислить сумму нечетных положительных элементов массива x[10] и сумму отрицательных элементов, расположенных после последнего отрицательного.

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

Функции в с++. Найти сумму элементов массива D, а также суммы квадратов и кубов элементов массива D. C++
Массивы: Определить частное от деления суммы положительных элементов массива на модуль суммы отрицательных элементов C++
Вычислить суммы элементов массива до первого нуля (доработать) C++
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
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 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     Вычислить суммы элементов массива
Ответ Создать тему
Опции темы

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