#include <stdio.h>
void array_mul(int (*x)[2], int (*y)[2], int (*ans)[2]);
int main(void)
{
int x[2][2] = { {1, 2}, {3, 4} };
int y[2][2] = { {1, 2}, {3, 4} };
int ans[2][2] = {0};
int i, j;
array_mul(x, y, ans);
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
}
}
return 0;
}
void array_mul(int (*x)[2], int (*y)[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 < 2; k++) {
ans[i][j] += x[i][k] * y[k][j];
}
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGFycmF5X211bChpbnQgKCp4KVsyXSwgaW50ICgqeSlbMl0sIGludCAoKmFucylbMl0pOwoKaW50IG1haW4odm9pZCkKewogICAgaW50IHhbMl1bMl0gPSB7IHsxLCAyfSwgezMsIDR9IH07CiAgICBpbnQgeVsyXVsyXSA9IHsgezEsIDJ9LCB7MywgNH0gfTsKICAgIGludCBhbnNbMl1bMl0gPSB7MH07CgogICAgaW50IGksIGo7CgogICAgYXJyYXlfbXVsKHgsIHksIGFucyk7CgogICAgcHJpbnRmKCLoqIjnrpfntZDmnpwoYW5zKTpcbiIpOwogICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaiA9IDA7IGogPCAyOyBqKyspIHsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLCBhbnNbaV1bal0pOwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCnZvaWQgYXJyYXlfbXVsKGludCAoKngpWzJdLCBpbnQgKCp5KVsyXSwgaW50ICgqYW5zKVsyXSkKewogICAgaW50IGksIGosIGs7CgogICAgZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewogICAgICAgIGZvciAoaiA9IDA7IGogPCAyOyBqKyspIHsKICAgICAgICAgICAgYW5zW2ldW2pdID0gMDsKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IDI7IGsrKykgewogICAgICAgICAgICAgICAgYW5zW2ldW2pdICs9IHhbaV1ba10gKiB5W2tdW2pdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9