끄적..
3x3 행렬의 곱을 C언어로 코딩해보았습니다.
소스코드
#include<iostream>
using namespace std;
#define ROW 3
#define COL 3
int c[ROW][COL]={0,};
int *matrixMultiply()///////행렬 곱셈 함수
{
int i,j,k; /////for문 돌리기위한 선언
int a[ROW][COL], b[ROW][COL];
// ********행렬A**********
cout<<"A행렬"<<endl;
for(i=0;i<ROW;i++)//A입력
{
for(j=0;j<COL;j++)
{
cin>>a[i][j];
}
}
//********행렬B**********
cout<<"B행렬"<<endl;
for(i=0;i<ROW;i++)//B입력
{
for(j=0;j<COL;j++)
{
cin>>b[i][j];
}
}
//********행렬C**********
cout<<"행렬A x 행렬B"<<endl;
for(i=0;i<ROW;i++)
{
for(j=0;j<COL;j++)
{
for(k=0;k<3;k++)
{
c[i][j]+=a[i][k]*b[k][j];
}
}
}
return *c; //2차원배열을 리턴할때는 reference값을 리턴해야하므로 포인터처리함
}
int main()
{
int i,j; /////for문 돌리기위한 선언
matrixMultiply();
for(i=0;i<ROW;i++){
cout<<"\n";
for(j=0;j<COL;j++)
cout<<" "<<*(*(c+i)+j);
cout<<"\n";
}
}
'Computer Languages > C | C++' 카테고리의 다른 글
[펌] new와 delete (0) | 2010.10.11 |
---|---|
포인터 개념 (0) | 2010.10.11 |
링크드리스트(노드추가/삭제) (0) | 2010.10.08 |
cast연산자 (0) | 2010.10.04 |
Hello world (0) | 2010.09.19 |