<ソース>
#include<stdio.h>

int main()
{
int data[2][3]={{10,20,30},
{1,2,3}};



printf("データ1データ2データ3合計\n");
printf("%5d",data[0][0]);
printf("%5d",data[0][1]);
printf("%5d",data[0][2]);


printf("%5d\n",data[0][0]+data[0][1]+data[0][2]);

printf("%5d",data[1][0]);
printf("%5d",data[1][1]);
printf("%5d",data[1][2]);

printf("%5d\n",data[1][0]+data[1][1]+data[1][2]);

printf("合計");


printf("%5d",data[0][0]+data[1][0]);
printf("%5d",data[0][1]+data[1][1]);
printf("%5d",data[0][2]+data[1][2]);

return 0;
}

ただ、printfだけで羅列しているのがかっこ悪いなと思いました。
for文で書こうと思ったのですが、できませんでした。
実行されプログラムはあってます。

A 回答 (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を即値にするか引数にするかマクロにするかはお好みで)
    • good
    • 0

>で、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);
    • good
    • 0

その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文でやりたかったのですができませんでした。

補足日時:2009/05/17 12:32
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/17 12:29

まず、実際にfor文を使ってみるべきです。


それを使った所でエラーが出たら、そのエラー文書を読解して、原因を探す。
for文がうまくいかないって事は、確実にあなたの理解が不十分でプログラムソースが間違っているという事ですから
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/17 12:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング