Search This Blog

Monday, 12 November 2012

Write a c++ program for multiplying two 3*3 matrix using operator overloading as a friend function

#include<iostream.h>
#include<conio.h>
class Matrix{
            Private:
            int a[3][3];
            public:
            void getData();
            void putData();
            friend Matrix operator*(Matrix A,Matrix B);
            };
void Matrix::getData()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cin>>a[i][j];
}
}
}
void Matrix::putData()
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cout<<a[i][j]<<"";
}
cout<<"\n";
}
}
Matrix operator *(Matrix A,Matrix B)
{
Matrix T;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
T.a[i][j]=0;
for(int k=0;k<3;k++)
{
T.a[i][j]=T.a[i][j]+A.a[i][k]*B.a[k][j];
}
}
}
return T;
}
void main()
{
clrscr();
Matrix P,Q,R;
cout<<"First Matrix";
P.getData();
cout<<"Second Matrix";
Q.getData();
R=p*Q;
cout<<"Output Matrix";
R.putData();
getch();
}

Output:
First Matrix
111
111
111
Second Matrix
222
222
222
Output Matrix
666
666
666


No comments:

Post a Comment