>>143
#include <vector>
#include <algorithm>
#include <string>
#include <iostream>
#include <sstream>
class a_set {
public:
static std::string intersection( const std::vector< int > &a, const std::vector< int > &b ) {
std::vector< int > v;
std::set_intersection( a.begin(), a.end(), b.begin(), b.end(), back_inserter( v ) );
if ( v.empty() ) {
return "";
} else {
std::string s; std::stringstream ss;
std::vector< int >::const_iterator iter = v.begin();
ss << *iter; ++iter;
for ( ; iter != v.end(); ++iter ) {
ss << "," << *iter;
}
s = ss.str();
return s;
}
}
};
int main() {
using namespace std;
int a[] = {2, 3, 10, 35}; int b[] = {3, 5, 10, 18};
vector< int > v1( &a[0], &a[3] ); vector< int > v2( &b[0], &b[3] );
cout << a_set::intersection( v1, v2 ) << endl;
}