- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語の二次元配列について教えて下さい。)
C言語の二次元配列について教えてください
このQ&Aのポイント
- C言語の二次元配列について教えて下さい。二次元配列で、次の行列の1の要素の添え字を書き出したいです。
- 自分で出来る範囲で組み上げたプログラムを載せます。
- 実行結果は (0,0) (0,2) (1,1) (1,2) (1,3) (2,0) (2,3) です。どなたか解る方、出来るだけ簡単なプログラムを教えて下さい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
a[x][y] == 1 のときだけ printf(...) すればいいんでしょ? printf(...) を if でくるめば完成。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.4
>何らかの間違いがあるかもしれません。 ご自分のところでコンパイル~実行してみれば、 結果が正しいかどうかはすぐわかりますね。 「あるかもしれません」というあいまいな話ではなくて。
- nda23
- ベストアンサー率54% (777/1415)
回答No.3
>行列の1の要素の添え字を書き出したい つまり、a[x][y]が1の場合だけ表示し、そうでなければ表示しない。 ということですね。 printf("%3d",a[x][y]);←この部分がヘンなので、以下のように直す。 if( a[x][y] == 1 ) { printf("(%d,%d)",x,y); //★参照 } ★ (1)添え字は2個なので、"%d"を2個記述する (2)添え字(xとy)を表示するわけで、要素(a[x][y])を表示しない (3)"%3d"の"3"は不要 意味が分かってやっているの?
- yoyox
- ベストアンサー率44% (86/193)
回答No.2
printfを実行するかどうかをif文で判別できませんか? if(配列の中身が1かどうか) {printf(~~~)} for > for > if といった構造にすればよいかと思います。 あと、printf文の中身も違うようです。 そのままですと配列の要素の中身を表示するだけなので、 xとyを表示するよう改めなければいけません。