• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:かなりかっこ悪いプログラムのような気がします。)

羅列方式でデータを表示するプログラム

このQ&Aのポイント
  • printfを使用してデータを羅列するプログラムがあります。
  • データは2次元配列で表され、合計値も表示されます。
  • プログラムは実行できますが、for文を使用することで見やすくなります。

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

  • ベストアンサー
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.4

どうせなので、 void disp(int data[3]) { int s=0; for(int i=0 ; i < 3 ; i++ ){ printf("%5d",data[i]); s+=data[i]; } printf("%5d\n",s); } という関数を作って、main関数で、 disp(data[0]); disp(data[1]); と呼び出してやるとスマートかも。(3を即値にするか引数にするかマクロにするかはお好みで)

その他の回答 (3)

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.3

>で、printf("%5d\n",data[0][0]+data[0][1]+data[0][2]); >  の部分をfor文でやりたかったのですができませんでした。 加算部分を分解するしかないですね。 int w; w=0; for(m=0;m<3;m++){ w += data[0][m]; } printf("%5d\n",w);

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

そのforで書いてだめだったソースを提示してください。コンパイルエラーでもかまいません。 恥ずかしいとは思いますが、何がだめなのか教えてもらわないと意味がないでしょう?

tomo_ko_n
質問者

お礼

そうですね、わかりました。

tomo_ko_n
質問者

補足

int i; int m; for(i=0;i<2;i++){ for(m=0;m<3;m++){ printf("%5d",data[i][m]); } } で、printf("%5d\n",data[0][0]+data[0][1]+data[0][2]);   の部分をfor文でやりたかったのですができませんでした。

  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.1

まず、実際にfor文を使ってみるべきです。 それを使った所でエラーが出たら、そのエラー文書を読解して、原因を探す。 for文がうまくいかないって事は、確実にあなたの理解が不十分でプログラムソースが間違っているという事ですから

tomo_ko_n
質問者

お礼

わかりました。for文で書いてみます。

関連するQ&A