크기가 d인 행렬(d*d)의 곱 a*b를 구하는 코드
실행 코드
#include <iostream> #pragma warning(disable:4996) using namespace std; int d; struct st { int m[55][55] = {}; st operator*(st a) const { st ret; for (int i = 0; i < d; i++) for (int j = 0; j < d; j++) for (int k = 0; k < d; k++) ret.m[i][j] = (ret.m[i][j] + m[i][k] * a.m[k][j]); return ret; } }a,b,c; int main() { d=3; for(int i=0;i<3;i++) for(int j=0;j<3;j++) a.m[i][j]=i,b.m[i][j]=i+j; c=a*b; printf(">>> a행렬\n"); for(int i=0;i<3;i++) { for(int j=0;j<3;j++) printf("%2d ",a.m[i][j]); printf("\n"); } printf(">>> b행렬\n"); for(int i=0;i<3;i++) { for(int j=0;j<3;j++) printf("%2d ",b.m[i][j]); printf("\n"); } printf(">>> c행렬\n"); for(int i=0;i<3;i++) { for(int j=0;j<3;j++) printf("%2d ",c.m[i][j]); printf("\n"); } return 0; }
실행 결과
'IT > 알고리즘 및 자료구조' 카테고리의 다른 글
[알고리즘 정리] 이분 탐색 (0) | 2018.09.14 |
---|---|
[알고리즘 정리] 그라함 알고리즘(Graham’s scan) 알고리즘 (0) | 2018.08.26 |
[알고리즘 정리] 최장 증가 수열(LIS,Largest Increasing Sequence) 알고리즘 (2) | 2018.07.16 |
[알고리즘 정리] 최소 신장 트리(MST, Minumum Spanning Tree) 알고리즘(프림 알고리즘) (0) | 2018.06.03 |
[알고리즘] 비트를 이용한 시프트, 논리 연산 ( <<, >>, &, |) (0) | 2018.06.02 |