2017-01-14 8 views
-4

私はオンラインで見て、チックトウテーブルを作成する他の方法を見たが、私はそれをかなり理解できなかった。私はティックタックトウボードを作成するために配列を使用しようとしましたが、印刷できないようです。誰かがこれを印刷する方法を教えてもらえますか?tic tac toeゲームボードを含むこのアレイを印刷するにはどうすればよいですか?

string tic [6][5] = { {" 1 2 3"}, { "1 | | "}, {" _____"}, {"2 | | " }, {" _____"}, 
      {"3 | | "}}; 
      cout<< tic<< endl ; 
      a++; 

誰もが自分のやり方で行動します。なぜ私はこれが印刷されていないのだろうと思っています。

これは私のコードがどのように見えるので、XsとOsを入力できるようになっていますが、1行に印刷されているようです。

int a = 0; 

    while (a < rounds){ 
     string tic [6][6] = { {" ","1"," ","2"," ","3"}, { "1"," ","|"," ","|"," "}, {" ","_","_","_","_","_"}, {"2"," ","|"," ","|"," " }, {" ","_","_","_","_","_"},{"3"," ","|"," ","|"," "}}; 

     for(int i=0; i < 6; ++i) 
      for(int j=0; j<6; ++j) 
       cout << tic[i][j]; 
     a++; 
+0

あなたはループに精通していますか? –

+0

私は?しかし、私はこれらの文字を使用する必要がありますか? – Monrelle

+0

そこにはありません! 2d配列を印刷する場合は、ループを使用する必要があります –

答えて

0

あなたはここで重要な洞察がticが実際に文字列の配列の配列へのポインタであることで、このすべて

for(int i=0; i < 6; ++i) 
    for(int j=0; j<5; ++j) 
     cout << tic[i][j]; 
+0

これは彼がループに精通していない場合、彼は2D配列を印刷する方法を学ぶための場所ではない、彼はプログラミングを学ぶことはない、最初にコメントしようとしてから –

+0

Damit、私はボード。 – Monrelle

+0

私はそれらの文字でボードを印刷したいだけで、ループでそれを行うことはできません。 – Monrelle

-1

ような配列をループを作成する必要があります。 ticを直接印刷しようとすると、メモリアドレスが取得されます。

文字列配列の要素を印刷するには、それを調べて各要素を印刷する必要があります。 2つのネストされたforループを使用します(配列に2つの次元があるため)。

+0

はい、それはアドレスですが、ボードを印刷したいのです。私はこれらの特定の文字でループを使用することはできません。 – Monrelle

+0

私はなぜそれが "永遠にかかります"と理解しているのか分かりません。 'cout << tic [0] [0];'最初の文字列 '' 1 2 3 "'を正確かつ迅速に出力します。もしそうなら、ネストされたforループは3行のコードで各エントリに対してそれを行います。 – merlinND

+0

haha​​ omg * facepalm *、申し訳ありませんが、私の愚かでした。あなたは正しい。 – Monrelle