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

Remove_copy_if - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переставить значение элементов заданного одномерного массива, так чтобы все нулевые оказались в конце массива http://www.cyberforum.ru/cpp-beginners/thread1310735.html
А не нулевые в начале, не нарушая порядок, в котором они были
C++ Вывести на экран график функции, используя символы Используя стандартные символы (.,/*|\-_) вывести на экран график функции в заданном интервале, с задданным шагом. y=xcosx, , п/10; http://www.cyberforum.ru/cpp-beginners/thread1310711.html
C++ Свой тип Boolean
хз зачем я это написал просто скучно было :D enum Boolean_t { False, True }; struct Boolean { Boolean_t value; Boolean() : value(False) {} Boolean(Boolean_t v) : value(v) {}
Вывести на экран таблицу ASCII C++
Помогите пожалуйста с заданием: - Вывести на экран таблицу ASCII (столбцы - три старших двоичных разряда таблицы ASCII, строки - четыре младших разряда).
C++ LZW - восстановление. LZW GIF. C++ http://www.cyberforum.ru/cpp-beginners/thread1310706.html
Всем привет.. задача такая: не могу понять, алгоритм декодирования LZW.. Необходимо как в этом примере http://habrahabr.ru/post/127083/ НАПРИМЕР Следующие 7 байт: <b></b>. Нужно перевести их в двоичное представление 10000100 01100010
C++ Конкатенация строк Помогите,пожалуйста,идиоту.Не понимаю как правильно конкатенацию строк написать("сложение" строк) #include <iostream> class STRING { private: char *data; public: подробнее

Показать сообщение отдельно
nokados
27 / 27 / 5
Регистрация: 30.04.2012
Сообщений: 132
26.11.2014, 13:22     Remove_copy_if
Спасибо. Не заметил я back_inserter. Скидываю еще рабочий вариант, вдруг пригодится кому-нибудь.
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
38
#include <iostream>
#include <list>
 
using namespace std;
 
namespace mystd {
    template <typename It, typename Out, typename Pred>
    Out remove_copy_if(It first, It last, Out out, Pred f) {
        for (It it = first; it != last; ++it) {
            if ( ! f(*it)) {
                *out++ = *it;
            }
        }
        return out;
    }
}
 
bool is_even(int num) {
    return num % 2 == 0;
}
 
typedef bool (*funct)(int);
 
int main() {
    list<int> input;
    int num;
    while (cin >> num) {
        input.push_back(num);
    }
    list<int> res_vec;
    // back_insert_iterator<list<int>> begin(res_vec);
 
    auto end = mystd::remove_copy_if(input.begin(), input.end(), back_inserter(res_vec), is_even);
    for (auto x : res_vec) {
        cout << x << " ";
    }
    return 0;
}
 
Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru