#include<iostream>
#include<cstdlib>
#include<vector>
#include <algorithm>
using namespace std;
int main(int argc, char ** argv)
{
vector<double> v1(10);
vector<double>::iterator i;
vector<double>::const_iterator position;
double key = 5.7;
double n=10.0;
for(i=v1.begin(); i!=v1.end(); i++)
{
*i = n-=0.5;
cout<<*i<<" ";
}
cout<<endl;
position = find( v1.begin(), v1.end(), key );
while(position == v1.end())
{
key-=0.1;
cout<<"key: "<<key<<endl;
position = find(v1.begin(), v1.end(), key);
cout<<"index: "<<position - v1.begin()<<endl;
if(key<5.0) break;
}
int index = position - v1.begin();
cout<<"index: "<<index<<endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRsaWI+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKiBhcmd2KQp7CiAgICB2ZWN0b3I8ZG91YmxlPiB2MSgxMCk7CiAgICB2ZWN0b3I8ZG91YmxlPjo6aXRlcmF0b3IgaTsKICAgIHZlY3Rvcjxkb3VibGU+Ojpjb25zdF9pdGVyYXRvciBwb3NpdGlvbjsKICAgIGRvdWJsZSBrZXkgPSA1Ljc7CgogICAgZG91YmxlIG49MTAuMDsKICAgIGZvcihpPXYxLmJlZ2luKCk7IGkhPXYxLmVuZCgpOyBpKyspCiAgICB7CiAgICAgICAgKmkgPSBuLT0wLjU7CiAgICAgICAgY291dDw8Kmk8PCIgIjsKICAgIH0KICAgIGNvdXQ8PGVuZGw7CgogICAgcG9zaXRpb24gPSBmaW5kKCB2MS5iZWdpbigpLCB2MS5lbmQoKSwga2V5ICk7CgogICAgd2hpbGUocG9zaXRpb24gPT0gdjEuZW5kKCkpCiAgICB7CiAgICAgICAga2V5LT0wLjE7CiAgICAgICAgY291dDw8ImtleTogIjw8a2V5PDxlbmRsOwogICAgICAgIHBvc2l0aW9uID0gZmluZCh2MS5iZWdpbigpLCB2MS5lbmQoKSwga2V5KTsKICAgICAgICBjb3V0PDwiaW5kZXg6ICI8PHBvc2l0aW9uIC0gdjEuYmVnaW4oKTw8ZW5kbDsKICAgICAgICBpZihrZXk8NS4wKSBicmVhazsKICAgIH0KICAgIGludCBpbmRleCA9IHBvc2l0aW9uIC0gdjEuYmVnaW4oKTsKICAgIGNvdXQ8PCJpbmRleDogIjw8aW5kZXg8PGVuZGw7CiAgICByZXR1cm4gMDsKfQo=