std::vector x(10);
for(int i=0;i<10;++i) cin >> x[i];

を for で回さないでなんか algorithm 使って出来ないですかね?

std::vector x(10);
std::transform(x.begin(), x.end(), x.begin(), bind1st(std::mem_fun(&std::istream::operator>>), &std::cin));

で逝けるかなぁと思ったんですけど、
no matching function for call to `mem_fun(<unknown type>)'
と gcc-3.2.1 に言われてしまって…
まぁ完全に趣味なんで別に for で回せばいいんですけどね。