演習6ー13
問:2回分の点数を3次元配列に格納するようにList6-16を書きかえたプログラムを作成せよ。
// Ex0613.c
#include
void mat_add(const int a[2][4][3], int b[2][4][3])
{
int i, j, k;
for(i = 0; i < 4; i++){
for(j = 0; j < 3; j++){
for(k = 0; k < 2; k++){
b[0][i][j] += a[k][i][j];
}
}
}
}
void mat_print(const int m[2][4][3], int n)
{
int i, j;
for(i = 0; i < 4; i++){
for(j = 0; j < 3; j++){
printf("%4d",m[n][i][j]);
}
putchar('\n');
}
}
int main(void)
{
int tensu[2][4][3] = {
{{91, 63, 78}, {67,72,46}, {89, 34,53}, {32, 54, 34}},
{{97, 67, 82}, {73,43,46}, {97, 56,21}, {85, 46, 35}}
};
int sum[1][4][3] = {0};
mat_add(tensu, sum);
puts("1回目の点数"); mat_print(tensu, 0);
puts("2回目の点数"); mat_print(tensu, 1);
puts("合計点"); mat_print(sum, 0);
return 0;
}
コメント
特になし。
書籍情報
コメント
が抜けています!