
#include <stdio.h>

int main(void)
{
    int x[2][3] = {
        {1, 2, 3},
        {4, 5, 6}
    };

    int y[3][2] = {
        {6, 5},
        {4, 3},
        {2, 1}
    };

    int z[2][2] = {
        {10, 6},
        {4, 9}
    };

    int ans[2][2];

    cal_array(x, y, z, ans);
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 2; j++) {
            printf("%d ", ans[i][j]);
        }
        printf("\n");
    }

    return 0;
}

void cal_array(const int (*x)[3], const int (*y)[2],
               const int (*z)[2], int (*ans)[2])
{
    int i, j, k;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 2; j++) {
            ans[i][j] = 0;

            for (k = 0; k < 3; k++) {
                ans[i][j] += x[i][k] * y[k][j];
            }
            ans[i][j] += z[i][j];
        }
    }
}

