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

Реализация алгоритма find_firdt_not_of через другие алгоритмы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ String to LPCSTR http://www.cyberforum.ru/cpp-beginners/thread337804.html
проблема такая (vc++ 2005) error C2664: 'CreateFileA' : cannot convert parameter 1 from 'System::String ^' to 'LPCSTR' поиск в гоогл непамог ... String^ str = comboBoxCOMNAME->Text; hCom =...
C++ Посоветуйте новичку в С++ Здравствуйте! После школьной программы знаком с основами Паскаля, Делфи. Скоро поступлю в ВУЗ. Скорей всего буду изучать там С++. Решил немного подготовиться. Скачал книгу Либерти (21 день). ... http://www.cyberforum.ru/cpp-beginners/thread337790.html
Преобразование строки в double C++
Собственно есть код: #include <iostream> #include <iomanip> using namespace std; double atof(const char *nPtr) {
Как сделать так, чтобы программа понимала русские буквы? C++
И если знаете как убрать этот огромный массив символов "char mass2" на chr виснет все... Так вот код программы. Мне нужно чтобы она выводила статистику по русским символам правильно... а то...
C++ Интернет и С++ http://www.cyberforum.ru/cpp-beginners/thread337748.html
Здраствуйте. Посоветуйте книги, статьи по сетевому программированию на С++, хочу понять саму систему, как там все должно быть устроено, т. е. что бы обьяснялся не сам инструментарий. Спасибо.
C++ Вывод информации о *.bmp на чистом C++ Собственно вот: #include <iostream> #include <fstream> #include <cmath> using namespace std; int main(int argc, char *argv) { char ch; подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
02.08.2011, 05:00
Цитата Сообщение от Сыроежка Посмотреть сообщение
Вы попробуйте для этого алгоритма написать версию с предикатом.
Да не вопрос!
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
#include <iostream>
#include <algorithm>
#include <functional>
 
template <class ForwardIter1, class ForwardIter2>
ForwardIter1 find_first_not_of(ForwardIter1 start1, ForwardIter1 stop1, ForwardIter2 start2, ForwardIter2 stop2){
    ForwardIter1 i;
    for ( i = start1; i != stop1; ++i )
        if ( std::find(start2, stop2, *i) == stop2 )
            break;
    return i;
}
 
template <class ForwardIter1, class ForwardIter2, class BinPred>
ForwardIter1 find_first_not_of(ForwardIter1 start1, ForwardIter1 stop1, ForwardIter2 start2, ForwardIter2 stop2, BinPred bp){
    ForwardIter1 i;
    for ( i = start1; i != stop1; ++i )
        if ( std::find_if(start2, stop2, std::bind1st(bp,*i)) == stop2 )
            break;
    return i;
}
 
 
int main(void){
    const int SIZE = 5;
    int arr1[SIZE] = { 1, 2, 3, 11, 5 };
    int arr2[SIZE] = { 6, 7, 8, 9, 10 };
    int * ptr;
    
    if ( ( ptr = (int*)find_first_not_of(arr1, arr1 + SIZE, arr2, arr2 + SIZE, std::less<int>()) ) == arr1 + SIZE )
        std::cout << "all elements from arr1 less then elements from arr2" << std::endl;
    else 
        std::cout << "First element from arr1 that is bigger elements in arr2 is " << *ptr << std::endl;
    
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru