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

Поиск в STL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Символы на С http://www.cyberforum.ru/cpp-beginners/thread282044.html
Дана строка S, изображающая вещественное число в формате с плавающей точкой, и целое число N (>0). Вывести набор символов, изображающих первые N цифр дробной части этого вещественного числа (без округления). program sam6; var s,s1:string; i,j,k,l,n:integer; begin write ('s:='); readln(s); write ('n:='); readln(n); for i:=2 to length(s)-1 do
C++ Игра Теннис Теннис Написать программу, которая бы имитировала игру в теннис. Поле для игры представляет собой прямоугольник, по которому движется теннисный мячик. С правой стороны находится «ракетка» игрока, которую можно двигать вверх или вниз. Игра продолжается до тех пор, пока игрок не пропустит мячик 5 раз. В качестве второго игрока может выступать компьютер или другой игрок. http://www.cyberforum.ru/cpp-beginners/thread282038.html
template .h .cpp C++
Здраствуйте! Возник вопрос по поводу шаблонов. В книге лафоре написана очередь Queue с использованием шаблонов, и там всё раздельно объявления в .h, а определиние в .cpp соотвественно. Захотел сделать своё множество Set<TYPE>. Вот он если чё: #ifndef SET_H #define SET_H #include "SetItem.h" #pragma once template <typename TYPE> class Set { template <typename Ticket> friend class...
Палиндромы в текстовом файле на С++ C++
Задача Подсчитать количество слов-палиндромов в текстовом файле (.txt). Cлова разделены пробелом или каждое записано с новой строки. Пример asa mom dad joy 3 палиндрома или Пример
C++ непонятно ...подпрограмма возвращает true http://www.cyberforum.ru/cpp-beginners/thread281975.html
Подпрограмма возвращает true, если все элементы массива отличны от нуля, и подсчитывает, сколько в нём отрицательных элементов. Применив её к массиву X и Y, вывести массив,где больше отрицательных элементов,а если их нет, вывести сообщение
C++ Строка в double Ecть массив char={2,3,6,.,8,9} Как написать алгоритм, чтоб получить число 236.89? Я все перепробовал, ничего не выходит. подробнее

Показать сообщение отдельно
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
23.04.2011, 19:20     Поиск в STL
Стандартный алгоритм std::find работает посредством оператора ==, для того, чтобы пользоваться функторами, придется написать свой find, например, так:

C++
1
2
3
4
5
6
7
8
template <typename _Iter, typename _Ty, typename _Comp>
_Iter my_find(_Iter _first, _Iter _last, _Ty _val, _Comp  _fn)
    {
    for(; _first != _last; ++_first)
        if(_fn(*_first,_val))
            break;
    return _first;
    }
Видимо, предполагается сравнивать с std::string, так что вызов my_find можно сделать так:
C++
1
it=my_find(vr.begin(),vr.end(), "Hey!", StrName);
или так
C++
1
it=my_find(vr.begin(),vr.end(), "Hey!", CompareName());
Добавлено через 5 минут
Всё это применительно к тому, если нужно пользоваться бинарными предикатами, если нужно просто найти элементы, удовлетворяющие какому-то условию, то подойдет std::find_if.
 
Текущее время: 19:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru