/* Kadai043 */
/* 3×3 の arrayA の転置行列を求め、それと arrayB との行列同士の積を求めるプログラム
を作成せよ。 */
/* 2026.7.6 H.Funayama */
#include <stdio.h>
#define ARRAYSIZE 3
int main(void) {
int arrayA[ARRAYSIZE][ARRAYSIZE] = { {1,1,1},{2,2,2}, {3,3,3} };
int arrayB[ARRAYSIZE][ARRAYSIZE] = { {1,1,1},{1,1,1}, {1,1,1} };
int transA[ARRAYSIZE][ARRAYSIZE]; // Aの転置行列
int arrayC[ARRAYSIZE][ARRAYSIZE]; // 積の結果
int i, j, k;
/*転置行列*/
for (i = 0; i < ARRAYSIZE; i++) {
for (j = 0; j < ARRAYSIZE; j++) {
transA[i][j] = arrayA[j][i];
}
}
/*行列の積 */
for (i = 0; i < ARRAYSIZE; i++) {
for (j = 0; j < ARRAYSIZE; j++) {
arrayC[i][j] = 0;
for (k = 0; k < ARRAYSIZE; k++) {
arrayC[i][j] += transA[i][k] * arrayB[k][j];
}
}
}
for (i = 0; i < ARRAYSIZE; i++) {
for (j = 0; j < ARRAYSIZE; j++)
if (i == ARRAYSIZE / 2)
else
for (j = 0; j < ARRAYSIZE; j++)
if (i == ARRAYSIZE / 2)
else
for (j = 0; j < ARRAYSIZE; j++)
}
return 0;
}
LyogS2FkYWkwNDMgCQkgICAgKi8KLyogM8OXMyDjga4gYXJyYXlBIOOBrui7oue9ruihjOWIl+OCkuaxguOCgeOAgeOBneOCjOOBqCBhcnJheUIg44Go44Gu6KGM5YiX5ZCM5aOr44Gu56mN44KS5rGC44KB44KL44OX44Ot44Kw44Op44OgCuOCkuS9nOaIkOOBm+OCiOOAggkJICAgICovCi8qIDIwMjYuNy42IEguRnVuYXlhbWEgICovCiNpbmNsdWRlIDxzdGRpby5oPgojZGVmaW5lIEFSUkFZU0laRSAzCgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgYXJyYXlBW0FSUkFZU0laRV1bQVJSQVlTSVpFXSA9IHsgezEsMSwxfSx7MiwyLDJ9LCB7MywzLDN9IH07CiAgICBpbnQgYXJyYXlCW0FSUkFZU0laRV1bQVJSQVlTSVpFXSA9IHsgezEsMSwxfSx7MSwxLDF9LCB7MSwxLDF9IH07CgogICAgaW50IHRyYW5zQVtBUlJBWVNJWkVdW0FSUkFZU0laRV07IC8vIEHjga7ou6Lnva7ooYzliJcKICAgIGludCBhcnJheUNbQVJSQVlTSVpFXVtBUlJBWVNJWkVdOyAvLyDnqY3jga7ntZDmnpwKICAgIGludCBpLCBqLCBrOwoKICAgIC8q6Lui572u6KGM5YiXKi8KICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWVNJWkU7IGkrKykgewogICAgICAgIGZvciAoaiA9IDA7IGogPCBBUlJBWVNJWkU7IGorKykgewogICAgICAgICAgICB0cmFuc0FbaV1bal0gPSBhcnJheUFbal1baV07CiAgICAgICAgfQogICAgfQoKICAgIC8q6KGM5YiX44Gu56mNICovCiAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlTSVpFOyBpKyspIHsKICAgICAgICBmb3IgKGogPSAwOyBqIDwgQVJSQVlTSVpFOyBqKyspIHsKICAgICAgICAgICAgYXJyYXlDW2ldW2pdID0gMDsKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IEFSUkFZU0laRTsgaysrKSB7CiAgICAgICAgICAgICAgICBhcnJheUNbaV1bal0gKz0gdHJhbnNBW2ldW2tdICogYXJyYXlCW2tdW2pdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWVNJWkU7IGkrKykgewogICAgICAgIGZvciAoaiA9IDA7IGogPCBBUlJBWVNJWkU7IGorKykKICAgICAgICAgICAgcHJpbnRmKCIlM2QiLCB0cmFuc0FbaV1bal0pOwoKICAgICAgICBpZiAoaSA9PSBBUlJBWVNJWkUgLyAyKQogICAgICAgICAgICBwcmludGYoIiDDlyAiKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHByaW50ZigiICAgIik7CgogICAgICAgIGZvciAoaiA9IDA7IGogPCBBUlJBWVNJWkU7IGorKykKICAgICAgICAgICAgcHJpbnRmKCIlM2QiLCBhcnJheUJbaV1bal0pOwoKICAgICAgICBpZiAoaSA9PSBBUlJBWVNJWkUgLyAyKQogICAgICAgICAgICBwcmludGYoIiA9ICIpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgcHJpbnRmKCIgICAiKTsKCiAgICAgICAgZm9yIChqID0gMDsgaiA8IEFSUkFZU0laRTsgaisrKQogICAgICAgICAgICBwcmludGYoIiUzZCIsIGFycmF5Q1tpXVtqXSk7CgogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KCiAgICBwcmludGYoIlxu57WC5LqG44GX44G+44GZ44CCXG4iKTsKCiAgICByZXR1cm4gMDsKfQoK
ezEsMSwxfSx7MiwyLDJ9LCB7MywzLDN9IHsxLDEsMX0sezEsMSwxfSwgezEsMSwxfQ==
{1,1,1},{2,2,2}, {3,3,3} {1,1,1},{1,1,1}, {1,1,1}