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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
#1

count_if - C++

02.09.2012, 22:21. Просмотров 2458. Ответов 5
Метки нет (Все метки)

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

Алгоритм count_if - C++
Помогите! Необходимо, используя алгоритм count_if посчитайте количество чисел в векторе, которые по модулю меньше 4. #include "stdafx.h" ...

Подсчет через count_if - C++
Есть, например, функция, принимающая 2 параметра bool BoolFunction ( параметр1, параметр2 ) { // что - то там } где параметр1...

Нужно переделать программу (accumulate_if() и count_if() ) - C++
#include <vector> #include <iostream> using namespace std; int main(int argc, char *argv) { int i, c, p=0 ,o=0; ...

Используя алгоритм count_if посчитать количество чисел в массиве - C++
Помогите с заданием! Используя алгоритм count_if посчитайте количество чисел в массиве, которые по модулю меньше 4. #include...

Алгоритм count_if - C++
Помогите! Необходимо, используя алгоритм count_if посчитайте количество чисел в векторе, которые по модулю меньше 4. #include "stdafx.h" ...

Подсчет через count_if - C++
Есть, например, функция, принимающая 2 параметра bool BoolFunction ( параметр1, параметр2 ) { // что - то там } где параметр1...

Нужно переделать программу (accumulate_if() и count_if() ) - C++
#include <vector> #include <iostream> using namespace std; int main(int argc, char *argv) { int i, c, p=0 ,o=0; ...

Используя алгоритм count_if посчитать количество чисел в массиве - C++
Помогите с заданием! Используя алгоритм count_if посчитайте количество чисел в массиве, которые по модулю меньше 4. #include...

Алгоритм count_if - C++
Помогите! Необходимо, используя алгоритм count_if посчитайте количество чисел в векторе, которые по модулю меньше 4. #include "stdafx.h" ...

Подсчет через count_if - C++
Есть, например, функция, принимающая 2 параметра bool BoolFunction ( параметр1, параметр2 ) { // что - то там } где параметр1...

Нужно переделать программу (accumulate_if() и count_if() ) - C++
#include <vector> #include <iostream> using namespace std; int main(int argc, char *argv) { int i, c, p=0 ,o=0; ...

Используя алгоритм count_if посчитать количество чисел в массиве - C++
Помогите с заданием! Используя алгоритм count_if посчитайте количество чисел в массиве, которые по модулю меньше 4. #include...

Алгоритм count_if - C++
Помогите! Необходимо, используя алгоритм count_if посчитайте количество чисел в векторе, которые по модулю меньше 4. #include "stdafx.h" ...

Алгоритм count_if - C++
Помогите! Необходимо, используя алгоритм count_if посчитайте количество чисел в векторе, которые по модулю меньше 4. #include "stdafx.h" ...

Подсчет через count_if - C++
Есть, например, функция, принимающая 2 параметра bool BoolFunction ( параметр1, параметр2 ) { // что - то там } где параметр1...

Нужно переделать программу (accumulate_if() и count_if() ) - C++
#include <vector> #include <iostream> using namespace std; int main(int argc, char *argv) { int i, c, p=0 ,o=0; ...

Используя алгоритм count_if посчитать количество чисел в массиве - C++
Помогите с заданием! Используя алгоритм count_if посчитайте количество чисел в массиве, которые по модулю меньше 4. #include...


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

Или воспользуйтесь поиском по форуму:
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.09.2012, 22:23 #2
гугли лямбда функции в C++
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 392
02.09.2012, 23:02 #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
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
03.09.2012, 21:10  [ТС] #4
А можно пример (типа реализации count_if) - чтобы передавалось два указателя и функтор.
Петррр
5949 / 3386 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
03.09.2012, 21:17 #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
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
03.09.2012, 21:33 #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
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru