#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
// Коллекция
vector<int> coll;
// Итератор
vector<int>::iterator pos;
try
{
coll.push_back(-10);
coll.push_back(-9);
coll.push_back(-8);
coll.push_back(-7);
coll.push_back(-6);
coll.push_back(1);
coll.push_back(2);
coll.push_back(3);
coll.push_back(4);
// Находим первый положительный элемент
pos = find_if(coll.begin(), coll.end(), bind2nd(greater<int>(),0));
// Вычисляем сумму элементов, после первого
// положительного элемента
int summ = 0;
for(; pos != coll.end(); ++pos) summ += *pos;
// Выводим результат
cout << summ << endl;
}
catch(bad_alloc)
{
cout << "Не удалось выделить память под коллекцию\n";
}
return 0;
} |