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

Найти произведение четных элементов вектора. - C++

Восстановить пароль Регистрация
 
Aleksei555
0 / 0 / 0
Регистрация: 11.01.2012
Сообщений: 5
16.01.2012, 16:44     Найти произведение четных элементов вектора. #1
Прошу помочь не могу написать программу. Задание: найти произведение четных элементов вектора.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2012, 16:44     Найти произведение четных элементов вектора.
Посмотрите здесь:

C++ Найти произведение четных элементов массива
C++ Найти сумму четных и произведение нечетных элементов массива
Найти сумму четных и произведение нечетных элементов C++
Заданы три вектора a(n), b(m), c(k). Вывести наименование вектора, в котором максимальна сумма четных элементов, стоящих на нечетных местах C++
Найти произведение четных элементов матрицы 4*4 C++
Найти сумму четных элементов, количество нечетных элементов и произведение элементов, кратным 3 C++
C++ Найти сумму и произведение всех четных элементов в массиве
C++ Найти сумму и произведение всех четных элементов массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
16.01.2012, 18:13     Найти произведение четных элементов вектора. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <vector>
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iterator>
 
int main()
{
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), [] { return std::rand() % 21; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::cout << std::accumulate(v.begin(), v.end(), 1,
                 [](int init, int num)
                 {
                     return ((num & 1) ? (init) : (init * num));
                 }) << std::endl;
    return 0;
}
http://liveworkspace.org/code/cd8fee...b79c6a515d997a

Без C++11
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
#include <vector>
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iterator>
 
template <class T> T gen() { return std::rand() % 21; }
 
template <class Iterator, class T, class BinaryOperation>
T product(Iterator first, const Iterator& last, T init, const BinaryOperation& op)
{
    while(first != last)
        init = op(init, *first++);
    return init;
}
 
template <class T>
T prod(const T& init, const T& num)
{
    return ((num & 1) ? (init) : (init * num));
}
 
int main()
{
    std::srand(std::time(NULL));
    std::vector<int> v(10);
    std::generate(v.begin(), v.end(), gen<int>);
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
    std::cout << product(v.begin(), v.end(), 1, prod<int>) << std::endl;
    return 0;
}
http://liveworkspace.org/code/cb2dbf...27aa52c6c313bd
Yandex
Объявления
16.01.2012, 18:13     Найти произведение четных элементов вектора.
Ответ Создать тему
Опции темы

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