2016-11-14 7 views
-6
を付けてください。

私は初心者ですから、#から "N"という文字を印刷する必要があります。 これまでのところ、\を印刷することしかできないので、最後の '足'がまだ残っていません。 私はこれまでのところどのようになったのか、実際はわかりません。大文字Nに#

#include <iostream> 
using namespace std; 

int main() 
{ 

    int i, j; 

    for (i = 1; i <= 9; i++) 
    { 
     cout << "#"; 
     for (j = 1; j <= 12; j++) 
     { 
      if (i == j) 
      { 
       cout << "#"; 
      } 
      else 
      { 
       cout << " "; 
      } 
     } 

     cout << endl; 
    } 

    return 0; 
} 
+0

すべての行の最後に '# 'を表示する必要があります。あなたのコードを見て、あなたはどこに行を終了する必要があります。あなたはそれを変更する必要があります。 – NathanOliver

答えて

4
for (i = 1; i <= 9; i++) //prints one line at a time 
{ 
    cout << "#"; 
    for (j = 1; j <= 9; j++) 
    { 
     if (i == j) 
     { 
      cout << "#"; //Diagonal part 
     } 
     else 
     { 
      cout << " "; 
     } 
    } 
    cout << "#"; // <<< You missed this 

    cout << endl; 
} 

リトルよりエレガント(一つだけfor -loopを使用して):: はここに私のコードです

for (i = 1; i <= 9; i++) 
{ 
    string s = "#"; 
    s.append(i-1, ' '); 
    s +='#'; 
    s.append(9-i, ' '); 
    s +='#'; 
    cout << s << endl; 
} 
1
私はマングリングせずに正確なものを印刷する "Cheeting" 道のために行くだろう

ループで。

cout << "##  #" << endl 
cout << "# #  #" << endl 
cout << "# # #" << endl 
cout << "# # #" << endl 
cout << "# # #" << endl 
cout << "#  # #" << endl 
cout << "#  ##" << endl 

パイは簡単です。

+0

あなたは私の一日を作った – Treycos

-1
for(int y=0; y<9;y++){ 

    for(int i=0; i<9; i++){ 

    if((i==8&&y==0) or(i==8&&y==8)){std::cout<<" ";} 

    if(i==0 or i==8){std::cout<<"#";}else{std::cout<<" ";}; 

    if(i>0 && i<8){if(i==y){std::cout<<"#";std::cout<<" ";}else{std::cout<<" ";};}; 

    };std::cout<<"\n";}; 
+0

完璧な対角線:D –

関連する問題