2017-10-23 10 views
0

上のy軸Iは1〜5からラベル列を持つ2Dグリッドに出力するように私の配列をしようとしていますが、私はそう2D配列、出力xとグリッド

char array[5][5]; 

    for(int i = 0; i < 5; i++) 
    { 
     for(int j = 0; j < 5; j++) 
     { 
     array[i][j] = 'O'; 
     } 
    } 

    for(int i = 0; i < 5; i++) 
    { 
     out << i + 1 << " "; 
     for(int j = 0; j < 5; j++) 
     { 
     out << array[i][j] << " "; 
     } 
     out << endl; 
    } 
を行うためにJを配置する上で立ち往生しています

電流出力:

1 O O O O O 
2 O O O O O 
3 O O O O O 
4 O O O O O 
5 O O O O O 

所望の出力:

1 2 3 4 5 
1 O O O O O 
2 O O O O O 
3 O O O O O 
4 O O O O O 
5 O O O O O 

ありがとうございます。

+2

最初の行はカラムキャプションで印刷されません...実際の出力では、実際には '0'から始まるインデックスが出力されます。これは "Current output"と一致しません。 – VTT

+1

最初の行を印刷する方法を尋ねていますか? – HolyBlackCat

+0

はい、私は希望の出力に表示された数字で最初の行を印刷する方法を尋ねるつもりでしたが、混乱して申し訳ありません。 –

答えて

0
out << " "; 
for (int i = 0; i < 5; i++) 
    out << i << " "; 
out << endl; 

for(int i = 0; i < 5; i++) 
{ 
    out << i << " "; 
    for(int j = 0; j < 5; j++) 
    { 
     out << array[i][j] << " "; 
    } 
    out << endl; 
} 

は、最初の行を印刷し、その後、残りの部分を印刷します。

+0

これは私が向いていた正確な方向で、j値を出力するために別のループを作る必要があると思いました。そうでなければ、ループしているので、すべての "O"の前後に1から5の数字が得られます。それはうまくコンパイルされ、今正しく動作します、助けてくれてありがとう。 –

+0

コンパイルしようとするとウィンドウがウイルスとしてファイルを検出したようですが、配列を表示する関数の下にそのコードを挿入しようとすると、ウイルス検出が停止したようです。理由はわかりませんが、私の出力は変わりません。具体的にはout << ""です。私はcin/coutではなくファイルで作業しているからです。 –

+0

私は自分自身でアンチウイルスと開発に問題は一度もありませんでした。コンパイラ、コンパイルオプション、およびウイルス対策自体に依存する可能性があります。 もっと詳しく知りたい場合は、Googleに質問してください:) – HangrY

0

はこのようにそれを実行します。

int n = 5; 
int i = 1; 

cout << " "; 
for (; i < n; ++i) { 
    cout << i << " "; 
} 
cout << n << endl; 
0

は、既存の2つのものの間にタイトルを印刷するためのループを追加します。

// Print title 
cout << " "; 
for(int i = 0; i < 5; i++) 
{ 
    cout << i << " "; 
} 
cout << endl;