2014-01-14 3 views
3

A에는 작은 질문이 있습니다. 공백과 줄 바꿈 기호를 추가하면 효과가 어떻게 생깁니 까?벡터 내용을 인쇄 할 때 공백과 새 줄을 추가하십시오.

ACCT 
CCTG 
    CTGA 

등 같은

vector<string>::reverse_iterator it; 
    for(it=vec.rbegin(); it!=vec.rend(); ++it) 
    { 

     cout<<*it; 
     cout<<endl; 
     cout<<" "; 

    } 

나는이 방법을 시도했다, 그러나 변화는 첫 번째 요소 이후 : 도움을

ACCT 
CCTG 
CTGA 

고마워요!

+1

정확히 어떤 입력을 기반으로하고 싶습니까? CT에서 맞추고 싶습니까, 아니면 한 줄에 다른 공간을 추가하고 싶습니까? – dornhege

답변

6

사용이 하나

std::string space = ""; 

for(auto it = vec.rbegin(); it != vec.rend(); ++it) { 
    std::cout << space << *it << std::endl; 
    space += " "; 
} 

이 사람은 새로운 줄에 출력되지 최종 공백을한다.

+4

이것은 선택한 답변보다 정확합니다. – ysap

+0

그것은 무엇입니까? 왜 'for'의 범위 밖에서 반복자를 선언할까요? – JorenHeit

+1

@JorenHeit 네 말이 맞지만 인쇄 명령에 관한거야. –

5
vector<string>::reverse_iterator it; 
    string space=""; 
    for(it=vec.rbegin(); it!=vec.rend(); ++it) 
    { 

     cout<<*it; 
     cout<<endl; 
     space += " "; 
     cout<<space; 

    } 
3
size_t spaces = 0; 
for (auto it = vec.rbegin(); it != vec.rend(); ++it) 
    cout << string(spaces++, ' ') << *it << '\n'; 
관련 문제