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

count_if - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
02.09.2012, 22:21     count_if #1
Я где-то видел такое использование:
C++
1
count_if (a.begin(), a.end(), []...);
(вместо троеточия что-то было). Не подскажете, что это за зверь такой этот []... ? И как использовать такое (желательно с примером).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2012, 22:21     count_if
Посмотрите здесь:

Нужно переделать программу (accumulate_if() и count_if() ) C++
Подсчет через count_if C++
C++ Используя алгоритм count_if посчитать количество чисел в массиве
Алгоритм count_if C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.09.2012, 22:23     count_if #2
гугли лямбда функции в C++
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
02.09.2012, 23:02     count_if #3
Простенький пример:
C++
1
2
3
4
5
6
7
8
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
 
   std::vector <int> a = {1,2,3,4,5};
   std::cout << (int)std::count_if ( a.begin(), a.end(), [](int i){ return i%2; } );
}
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
03.09.2012, 21:10  [ТС]     count_if #4
А можно пример (типа реализации count_if) - чтобы передавалось два указателя и функтор.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
03.09.2012, 21:17     count_if #5
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
#include <functional>
 
int main()
{
    int array[] = { 1, 2, 3, 4 };
    std::cout << std::count_if(std::begin(array), std::end(array),
        std::bind2nd(std::greater<int>(), 2)) << std::endl;
}
test
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
03.09.2012, 21:33     count_if #6
Петррр, он скорей всего имел ввиду саму реализацию функции.
Реализация честно взята с http://www.cplusplus.com
C++
1
2
3
4
5
6
7
template <class InputIterator, class Predicate>
  ptrdiff_t count_if ( InputIterator first, InputIterator last, Predicate pred )
{
  ptrdiff_t ret=0;
  while (first != last) if (pred(*first++)) ++ret;
  return ret;
}
Yandex
Объявления
03.09.2012, 21:33     count_if
Ответ Создать тему
Опции темы

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