find で返されるイテレータを distance にかければ判るだろ。
vector<int> v;
vector<int>::iterator i = find(v.begin(), v.end(), 10);
if(i != v.end()){
 int index = distance(i, v.begin());
}
「組み合わせる」という言葉を知らないか?