3*3행렬의 100승을구해야되는데...
자꾸 엉뚱한 값이 나오네요....행렬의 지수승은 일반 정수의 지수승과는 틀릴것 같은데 그걸 잘 모르겠어요
자꾸 혼자서 해매기만해서 일단 물어보려고 이렇게 올립니다...
도와주세요 ...
#include <stdio.h>
#include <math.h>
int main()
{
int mat1[][3] = {{1,1,1},{1,1,2},{2,1,2}};
int mat2[][3] = {{1,1,1},{1,1,2},{2,1,2}};
int res[3][3];
int i, j, k, p;
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
{
for (k = 0, r = 0; k < 3; k++)
p += mat1[i][k]*mat2[k][j];
res[i][j] = p;
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++){
printf("%5d", res[i][j]);
}
printf("\t%f\t%f\t%f\n",pow(res[i][j],200)); <---이부분을 이렇게 해봤는데...엉뚱한값이나오고 일반정수 지수구하는것 처럼for문을 돌려도 값이 엉뚱합니다.... 도와주실분 안계신가요...
printf("\n");
}
return 0;
}
|