一个小问题。如何添加空格和新的线条符号,以使效果看起来像那样?
ACCT
CCTG
CTGA
等
vector<string>::reverse_iterator it;
for( it=vec.rbegin(); it!=vec.rend(); ++it )
{
cout<<*it;
cout<<endl;
cout<<" ";
}
我已经尝试过这种方式,但这种转变只是在第一个元素之后,就像那样:
ACCT
CCTG
CTGA
非常感谢您的帮助!
答案 0 :(得分:6)
使用这个:
std::string space = "";
for(auto it = vec.rbegin(); it != vec.rend(); ++it ) {
std::cout << space << *it << std::endl;
space += " ";
}
这个不会在新行上输出最后的空格。
答案 1 :(得分:5)
vector<string>::reverse_iterator it;
string space="";
for( it=vec.rbegin(); it!=vec.rend(); ++it )
{
cout<<*it;
cout<<endl;
space += " ";
cout<<space;
}
答案 2 :(得分:3)
size_t spaces = 0;
for (auto it = vec.rbegin(); it != vec.rend(); ++it)
cout << string(spaces++, ' ') << *it << '\n';