#include <stdio.h>
#define SIZE 2
void array_mul( int (*x)[SIZE], int (*y)[SIZE], int (*ans)[SIZE] ) {
int i, j, k;
int sum;
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
sum = 0;
for (k = 0; k < SIZE; k++) {
sum += x[i][k] * y[k][j];
}
ans[i][j] = sum;
}
}
}
void print_matrix( const char *name, int (*matrix)[SIZE] ) {
int i, j;
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
}
}
}
int main(void) {
int x[SIZE][SIZE] = {
{1, 2},
{3, 4}
};
int y[SIZE][SIZE] = {
{1, 2},
{3, 4}
};
int ans[SIZE][SIZE];
array_mul(x, y, ans);
print_matrix("行列 ans", ans);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgoKI2RlZmluZSBTSVpFIDIKCgp2b2lkIGFycmF5X211bCggaW50ICgqeClbU0laRV0sIGludCAoKnkpW1NJWkVdLCBpbnQgKCphbnMpW1NJWkVdICkgewogICAgaW50IGksIGosIGs7CiAgICBpbnQgc3VtOwoKICAgZm9yIChpID0gMDsgaSA8IFNJWkU7IGkrKykgeyAKICAgICAgICBmb3IgKGogPSAwOyBqIDwgU0laRTsgaisrKSB7IAogICAgICAgICAgICBzdW0gPSAwOwogICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgU0laRTsgaysrKSB7IAogICAgICAgICAgICAgICAgc3VtICs9IHhbaV1ba10gKiB5W2tdW2pdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFuc1tpXVtqXSA9IHN1bTsKICAgICAgICB9CiAgICB9Cn0KCgp2b2lkIHByaW50X21hdHJpeCggY29uc3QgY2hhciAqbmFtZSwgaW50ICgqbWF0cml4KVtTSVpFXSApIHsKICAgIGludCBpLCBqOwogICAgZm9yIChpID0gMDsgaSA8IFNJWkU7IGkrKykgewogICAgICAgIGZvciAoaiA9IDA7IGogPCBTSVpFOyBqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlNGQiLCBtYXRyaXhbaV1bal0pOwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIAogICAgaW50IHhbU0laRV1bU0laRV0gPSB7CiAgICAgICAgezEsIDJ9LAogICAgICAgIHszLCA0fQogICAgfTsKCiAgICBpbnQgeVtTSVpFXVtTSVpFXSA9IHsKICAgICAgICB7MSwgMn0sCiAgICAgICAgezMsIDR9CiAgICB9OwoKICAgCiAgICBpbnQgYW5zW1NJWkVdW1NJWkVdOwoKICAgICBhcnJheV9tdWwoeCwgeSwgYW5zKTsKCiAgICAgcHJpbnRfbWF0cml4KCLooYzliJcgYW5zIiwgYW5zKTsKCiAgICByZXR1cm4gMDsKfQ==