2次元配列を使ったC言語の九九表を作りたいんですが、方法がわかりません。
C言語で、九九の表を作っているのですが2次配列を使わないでの方法なら出来るんですが、
2次配列を使うと出来なくなってします。
下記のように途中まで組んだのですが、どうしてもエラーがでてしまいます。
#include <stdio.h>
int main(void)
{
int i,j,a[9][9];
printf(" ");
for(i=1; i<=9; i++)
printf("%3d", i);
printf("\n");
for(i=0; i<9; i++){
for(j=0; j<9; j++)
a[i][j]=
{1,2,3,4,5,6,7,8,9},{2,4,6,8,10,12,14,16,18},{3,6,9,12,15,18,21,24,27},{4,8,12,16,20,24,28,32,36},{5,10,15,20,25,30,35,40,45,6,12,18,24,30,36,42,48,54,7,14,21,28,35,42,49,56,63},{8,16,24,32,40,48,56,64,72},{9,18,27,36,45,54,63,72,81}
};
for(i=0; i<9; i++){
printf("%3d", i+1);
for(j=0; j<9; j++)
printf("%3d",a[9][9]);
printf("\n");
}
return 0;
}
とやったのですが…以下に書く部分が間違っているようで。
#include <stdio.h>
int main(void)
{
int i,j,a[9][9];
printf(" ");
for(i=1; i<=9; i++)
printf("%3d", i);
printf("\n");
for(i=0; i<9; i++){
for(j=0; j<9; j++)
a[i][j]=□
}
for(i=0; i<9; i++){
printf("%3d", i+1);
for(j=0; j<9; j++)
printf("%3d", □);
printf("\n");
}
return 0;
}
色々調べたり、少しずつ変えながら試しているのですが、できません。
どなたかわかるかたいらっしゃいますか。間違いがわかりません…
配列を使用しなくても出来ることは、わかるのですが、配列を使うバージョンでもできるようになりたいんです。
私がしようとおもっているのは、81個分の値を先に計算し、9×9の2次元配列に格納し、次に81個の配列要素の値を出力したいのですが、
間違いと方法がわかる方いらっしゃいませんか。
お礼
ありがとうございます。 無事小数点以下が正常に出力されました。 コンパイラはVisual C++ 2008でした。 キャストを忘れていたようです。 しかしこれで1時間近く悩むとは・・・><; 参考までに修正したプログラム↓ for (i=0; i<n; i++) { a[i] = (double)(ten1[i] + ten2[i] + ten3[i]) / 3; }