Advertisement

Monday, 7 January 2013

Data Structures using c++ :Source codes collection

Data Structures using c++ :Source codes collection



1.Multiplication of Two Matrices

 #include<iostream.h>
#include<conio.h>

  class matrix
  {
 int a[10][10], m,n;
public:
matrix()
{
}
matrix(int m,int n)
{
this->m=m;
this->n=n;


}
void set_mat()
{
for(int i=0;i<m;i++)
 for(int j=0;j<n;j++)
 a[i][j]=0;
 }

void read_mat();
void disp_mat();
void mul_mat(matrix,matrix);
 };
 void matrix :: read_mat()
 {
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
  cout<<"enter element "<<i+1<<","<<j+1<<"?";
  cin>>a[i][j];
}
 }
 void matrix :: disp_mat()
 {
cout<<"Matrix Elements:
";
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
cout<<a[i][j]<<"  ";
 cout<<endl;
}

  }
  void matrix :: mul_mat(matrix m1,matrix m2)
  {
 if(m1.n!=m2.m)
 cout<<"matrix multiplication is not possible ";
 else
 {
 for(int i=0;i<m1.m;i++)
  for(int j=0;j<m1.n;j++)
for(int k=0;k<m2.n;k++)
{
 a[i][j]+=m1.a[i][k]*m2.a[k][j];
}
 }
}
void main()
{
 int m,n,p,q;
 clrscr();


 cout<<"enter first matrix size ?";
 cin>>m>>n;
 matrix m1(m,n);
 m1.read_mat();
 cout<<"enter second matrix size ?";
 cin>>p>>q;
 matrix m2(p,q);
 m2.read_mat();
 matrix m3(m,q);
 m3.set_mat();
 m3.mul_mat(m1,m2);
 m1.disp_mat();
 m2.disp_mat();
 m3.disp_mat();
 getch();
 }