- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:かなりかっこ悪いプログラムのような気がします。)
羅列方式でデータを表示するプログラム
このQ&Aのポイント
- printfを使用してデータを羅列するプログラムがあります。
- データは2次元配列で表され、合計値も表示されます。
- プログラムは実行できますが、for文を使用することで見やすくなります。
- みんなの回答 (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で書いてだめだったソースを提示してください。コンパイルエラーでもかまいません。 恥ずかしいとは思いますが、何がだめなのか教えてもらわないと意味がないでしょう?
- mizutaki
- ベストアンサー率33% (111/333)
回答No.1
まず、実際にfor文を使ってみるべきです。 それを使った所でエラーが出たら、そのエラー文書を読解して、原因を探す。 for文がうまくいかないって事は、確実にあなたの理解が不十分でプログラムソースが間違っているという事ですから
質問者
お礼
わかりました。for文で書いてみます。
お礼
そうですね、わかりました。
補足
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文でやりたかったのですができませんでした。