int temp[5000]; // declare this globally if you're going to be
// doing a lot of set_intersection calls
int main() {
char x[]={'a','b','c','d','e'};
char y[]={'b','c','g'};
vector<char> v1(x,x+sizeof x/sizeof x[0]);
vector<char> v2(y,y+sizeof y/sizeof y[0]);
sort(v1.begin(),v1.end());
sort(v2.begin(),v2.end()); // the vectors *must* be sorted!!!!!!
vector<char> inter=vector<char>(temp,set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),temp)); // inter contains {'b','c'}
int cnt=set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),temp) - temp; // cnt=2
for(int i = 0; i < (int)inter.size(); ++i) {
cout<<inter[i]<<" ";
}
cout<<endl;
return 0;
}