演習 5-12

#include<stdio.h>
#define NUMBER 2

int main(){

int i, j, k;
int tensu[NUMBER][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[4][3] = {0};

for (i = 0; i < NUMBER; i++){
printf("%d回目の点数\n", i + 1);
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
printf("%4d", tensu[i][j][k]);
}
printf("\n");
}
}
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
for (i = 0; i < NUMBER; i++){
sum[j][k] = sum[j][k] + tensu[i][j][k];
}
}
}
printf("合計点\n");
for (j = 0; j < 4; j++){
for (k = 0; k < 3; k++){
printf("%4d", sum[j][k]);
}
printf("\n");
}
return 0;
}

2 件のコメント:

  1. 『int tensu[NUMBER][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[4][3]型の配列に24個の要素が初期子として与えられています。
    int[4][3]型の配列には3×4=12個の要素しか含めないので、int[4][3][2]とする必要があるかと思います。

    返信削除
    返信
    1. 返信が遅れてしまいました. int tensu[NUMBER][4][3]であり, NUMBER=2なので数的にはおそらくあっているかとおもわれます...

      削除