#include <stdio.h>
void cal_array( const int (*x)[3], const int (*y)[2], const int (*z)[2], int (*ans)[2] );
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] = { 0 } ;
cal_array( x, y, z, ans );
return 0;
}
void cal_array( const int (*x)[3], const int (*y)[2], const int (*z)[2], int (*ans)[2] ){
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 3; k++) {
ans[i][j] += x[i][k] * y[k][j];
}
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", ans
[i
][j
] + z
[i
][j
]); }
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGNhbF9hcnJheSggY29uc3QgaW50ICgqeClbM10sIGNvbnN0IGludCAoKnkpWzJdLCBjb25zdCBpbnQgKCp6KVsyXSwgaW50ICgqYW5zKVsyXSApOwoKaW50IG1haW4odm9pZCkgewoJaW50IHhbMl1bM10gPSB7ezEsMiwzfSwgezQsNSw2fX07CglpbnQgeVszXVsyXSA9IHt7Niw1fSwgezQsM30sIHsyLDF9fTsKCWludCB6WzJdWzJdID0ge3sxMCw2fSAsezQsOX19OwoJaW50IGFuc1syXVsyXSA9IHsgMCB9IDsKCQoJY2FsX2FycmF5KCB4LCB5LCB6LCBhbnMgKTsKCQoJcmV0dXJuIDA7Cn0KCnZvaWQgY2FsX2FycmF5KCBjb25zdCBpbnQgKCp4KVszXSwgY29uc3QgaW50ICgqeSlbMl0sIGNvbnN0IGludCAoKnopWzJdLCBpbnQgKCphbnMpWzJdICl7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMjsgaisrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGsgPSAwOyBrIDwgMzsgaysrKSB7CiAgICAgICAgICAgICAgICBhbnNbaV1bal0gKz0geFtpXVtrXSAqIHlba11bal07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgaSsrKSB7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCAyOyBqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLCBhbnNbaV1bal0gKyB6W2ldW2pdKTsKICAgICAgICB9CiAgICBwdXRjaGFyKCdcbicpOwogICAgfQp9