Void main (). cout << *(adjacent_find(m, m + 8)); //Виведення: 60
{
int m[8] = {1, 60, 60, 25, 25, 2, 13, 35};
cout << *(adjacent_find(m, m + 8)); //Виведення: 60
A ma[5] = {{2,4}, {3,1}, {2,2}, {1,2}, {1,2}};
//Виведення: 3
cout<<"\n"<<(*adjacent_find(ma, ma+5, f)).x << endl;
};
Алгоритм count_ifрозглянутий вище в цьому розділі.
Алгоритми findта find_ifвиконують відповідно пошук заданого значення і пошук значення, відповідного заданому предикату pred. Приклад:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
Class In
{
public:
bool operator()(int x) {return x > 10 && x < 50;}
};
Void main()
{
int mas[] = {1, 2, 33, 4, 5, 66, 7, 8, 9};
vector <int> vec;
vector<int>::iterator f;
for (int i = 0; i < 9; i++)
{
vec.push_back(mas[i]);
cout << vec[i] << " ";
}
cout <<"\n";
// Пошук елементу, рівного 66:
cout << *find(vec.begin(), vec.end(), 66) << endl;
// Пошук елементу, що задовольняє умові 10<х<50:
f = find_if(vec.begin(), vec.end(), In());
if(f == vec.end())
cout<<"Немає елементу в послідовності";
else cout << *f;
}
Результат роботи програми:
1 2 33 4 5 66 7 8 9
Алгоритм for_eachвикликається для перегляду елементів контейнера. У нього можна передавати вказівку на функцію, яку потрібно викликати для кожного елементу контейнера, який треба переглянути:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void show(int a){ cout << a << " ";}
Дата добавления: 2014-12-26; просмотров: 616;