2017-03-28 9 views
0

ここでは少し問題があります。私は図のような円形の時計を印刷するはずですが、私はちょうどそれを正しくするように見えません。C++ - ネストされたforループを使用して円形パターンの数字を印刷する

これはクロックが私自身の精神的なドラフトで、どのように見えるかのようなものです:今

 12 
    11  01 
10   02 
09   03 
08   04 
    07  05 
     06 

#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() { 

    int i, j, space = 4, number1 = 11; 

    for (i = 0; i < 6; i++) 
    { 

     for (j = 0; j < space; j++) 
      cout << " "; 

     for (number1; number1 > 6; number1--) 
      cout << number1 << "\n";  

    } 

} 

、私が書いたことは、私はこっちに必要なものにしても近接していない、と私は本当にだろうあなたが私にこの問題に関するいくつかのヒントとヒントを与えることができればそれを感謝します。私はちょうど今、数週間コーディングしてきました。

+0

を試してみてください[小さなプログラムをデバッグする方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs /)有用である。 –

+0

私はこれを1つのforループで行ごとに行うことができます。トリックは、各数字の前に必要なスペースの数と、それが対応する行(ループのインデックス)の間のパターンを見つけることです。 – picklechips

+0

私はオンザフライで数値を計算しませんが、数字の行をテーブルにして印刷すると、書式設定を気にする必要があります – user463035818

答えて

-1

あなたが見つけるかもしれない、このコード

#include <iostream> 
#include <iomanip> 
using namespace std; 

int main() { 

    int i, j, space = 5,space2=0, number1 = 12; 

    for (i = 0; i < 7; i++) { 

     for (j = 0; j < space; j++) 
      cout << " "; 

      cout<<number1; 

      if(i!=0&&i!=6) 
      { 
       for(j=0;j<space2;j++) 
       cout<<" "; 

       cout<<12-number1; 
      } 

      number1--; 
      cout<<endl; 

      if(i<3) 
      space-=2,space2+=3; 
      else 
      space+=2,space2-=3; 
      } 
} 
+1

どのような説明 –

+1

最高のansが見たことがありますか –

関連する問題