ccplusplus.com
Learn C, C++ Concepts
Wednesday, January 11, 2012
using find_if stl function
/*********************************************************************** * File : find_if.cpp * Author : Saurabh Gupta * Desc : using find_if stl function c++ * Source : http://ccplusplus/2011/10/standard-template-library.html * Created : PM 09:50 11 January 2012 * Note : ************************************************************************/ #include <iostream> #include <list> #include <algorithm> #include <cstdlib> //for abs() using namespace std; //predicate, which returns whether an integer is a prime number bool isPrime (int number) { //ignore negative sign number = abs(number); // 0 and 1 are prime numbers if (number == 0 || number == 1) { return true; } //find divisor that divides without a remainder int divisor; for (divisor = number/2; number%divisor != 0; --divisor) { ; } //if no divisor greater than 1 is found, it is a prime number return divisor == 1; } // main begins int main() { list<int> coll; //insert elements from 24 to 30 for (int i=24; i<=30; ++i) { coll.push_back(i); } //search for prime number list<int>::iterator pos; pos = find_if (coll.begin(), coll.end(), //range isPrime); //predicate if (pos != coll.end()) { //found cout << *pos << " is first prime number found" << endl; } else { //not found cout << "no prime number found" << endl; } } /* * OUTPUT * [sgupta@rhel6x64 algorithm]$ c++ find_if.cpp -o find_if [sgupta@rhel6x64 algorithm]$ ./find_if 29 is first prime number found [sgupta@rhel6x64 algorithm]$ */
See Also:
Standard Template Library Concepts and sample codes in C++
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment