#include <bits/stdc++.h>
using
namespace
std;
void
printVector(vector<
int
> v)
{
for_each(v.begin(), v.end(), [](
int
i)
{
std::cout << i <<
" "
;
});
cout << endl;
}
int
main()
{
vector<
int
> v {4, 1, 3, 5, 2, 3, 1, 7};
printVector(v);
vector<
int
>:: iterator p = find_if(v.begin(), v.end(), [](
int
i)
{
return
i > 4;
});
cout <<
"First number greater than 4 is : "
<< *p << endl;
sort(v.begin(), v.end(), [](
const
int
& a,
const
int
& b) ->
bool
{
return
a > b;
});
printVector(v);
int
count_5 = count_if(v.begin(), v.end(), [](
int
a)
{
return
(a >= 5);
});
cout <<
"The number of elements greater than or equal to 5 is : "
<< count_5 << endl;
p = unique(v.begin(), v.end(), [](
int
a,
int
b)
{
return
a == b;
});
v.resize(distance(v.begin(), p));
printVector(v);
int
arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int
f = accumulate(arr, arr + 10, 1, [](
int
i,
int
j)
{
return
i * j;
});
cout <<
"Factorial of 10 is : "
<< f << endl;
auto
square = [](
int
i)
{
return
i * i;
};
cout <<
"Square of 5 is : "
<< square(5) << endl;
}