#include <cstdio>






struct mamul

{

float m[2][2];


};


void main()

{

float a11, a12, a21, a22, b11, b12, b21, b22;


printf("입력\n");

scanf_s("%f %f", &a11, &a12);

scanf_s("%f %f", &a21, &a22);

scanf_s("%f %f", &b11, &b12);

scanf_s("%f %f", &b21, &b22);

struct mamul trix[3] = { a11,a12,a21,a22,b11,b12,b21,b22,0,0,0,0 };

int i;

for (i = 0; i <= 1; i++)

{

trix[2].m[0][0] = trix[0].m[0][i] * trix[1].m[i][0];

trix[2].m[0][1] = trix[0].m[0][i] * trix[1].m[i][1];

trix[2].m[1][0] = trix[0].m[1][i] * trix[1].m[i][0];

trix[2].m[1][1] = trix[0].m[1][i] * trix[1].m[i][1];


}



printf("%.2f %.2f\n%.2f %.2f", trix[2].m[0][0], trix[2].m[0][1], trix[2].m[1][0], trix[2].m[1][1]);


}



입력할때 단위벡터 1 0 0 1     10 0 1 두개 입력했으니깐 두개의 곱역시 1 0 0 1 나와야되는데 계속 0 0 0 1 나옴 .. 하 .. 시발 뭐지 몇번을 봐도 문제없는데