『新・明解C言語 入門編 第2版』演習問題解答例 6ー13

演習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;
}

コメント

 特になし。

 


書籍情報


コメント

  1. より:

    が抜けています!

タイトルとURLをコピーしました