• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語の二次元配列について教えて下さい。)

C言語の二次元配列について教えてください

このQ&Aのポイント
  • C言語の二次元配列について教えて下さい。二次元配列で、次の行列の1の要素の添え字を書き出したいです。
  • 自分で出来る範囲で組み上げたプログラムを載せます。
  • 実行結果は (0,0) (0,2) (1,1) (1,2) (1,3) (2,0) (2,3) です。どなたか解る方、出来るだけ簡単なプログラムを教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

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を表示するよう改めなければいけません。

関連するQ&A