C++,Program,to,Multiply,two,Matrices

Mert 9/1/2016 0

A C++ Program to Multiply two Matrices. Divide And Conquer Algorithm

C++
 # include <iostream.h>
 # include   <stdlib.h>
 # include    <conio.h>

 

 class Matrix
 {
    private:
       float matrix_a[3][3];
       float matrix_b[3][3];
       float matrix_c[3][3];

    public:
       Matrix( );

       void get_matrix_a( );
       void get_matrix_b( );
       void multiply_matrices( );
       void show_result_Matrix( );
 };

 


 Matrix::Matrix( )
 {
    for(int i=0;i<3;i  )
    {
       for(int j=0;j<3;j  )
       {
	  matrix_a[i][j]=0;
	  matrix_b[i][j]=0;
	  matrix_c[i][j]=0;
       }
    }

    gotoxy(1,1);
    cout<<"
**************************************************************************
****"<<endl;
    cout<<" * * * * * * * * * * * * * *  Matrix  Multiplication  * * * 
* *
* * * * * * * *"<<endl;
    cout<<"
**************************************************************************
****"<<endl;

    gotoxy(1,25);
    cout<<"
**************************************************************************
****";
 }



 void Matrix::get_matrix_a( )
 {
    gotoxy(1,6);
    cout<<" Enter the values of the Matrix A row by row :
 "<<endl;

    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;

    gotoxy(18,10);
    cout<<" A  = "<<endl;

    int x=28;
    int y=9;

    for(int i=0;i<3;i  )
    {
       for(int j=0;j<3;j  )
       {
	  gotoxy(x,y);
	  cin>>matrix_a[i][j];

	  x =5;
       }

       x=28;
       y  ;
    }
 }

 


 void Matrix::get_matrix_b( )
 {
    gotoxy(1,15);
    cout<<" Enter the values of the Matrix B row by row :
 "<<endl;

    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;

    gotoxy(18,19);
    cout<<" B  = "<<endl;

    int x=28;
    int y=18;

    for(int i=0;i<3;i  )
    {
       for(int j=0;j<3;j  )
       {
	  gotoxy(x,y);
	  cin>>matrix_b[i][j];

	  x =5;
       }

       x=28;
       y  ;
    }
 }

 


 void Matrix::multiply_matrices( )
 {
    for(int i=0;i<3;i  )
    {
       for(int j=0;j<3;j  )
       {
	  float value=0;
	  float sum=0;

	  for(int k=0;k<3;k  )
	  {
	     value=matrix_a[j][k]*matrix_b[k][j];
	     sum =value;
	  }

	  matrix_c[i][j]=sum;
       }
    }
 }

 

 void Matrix::show_result_Matrix( )
 {
    clrscr( );

    gotoxy(1,1);
    cout<<"
**************************************************************************
****"<<endl;
    cout<<" * * * * * * * * * * * * * *  Matrix  Multiplication  * * * 
* *
* * * * * * * *"<<endl;
    cout<<"
**************************************************************************
****"<<endl;

    gotoxy(1,6);
    cout<<" The values of Matrix A and B are :"<<endl;

    cout<<"		 �               �  	            �               
�"<<endl;
    cout<<"		 �               �   	            �               
�"<<endl;
    cout<<"		 �               �   	            �               
�"<<endl;
    cout<<"		 �               �  	            �               
�"<<endl;
    cout<<"		 �               � 		    �               �"<<endl;

    gotoxy(45,9);
    cout<<" B  = "<<endl;

    gotoxy(10,9);
    cout<<" A  = "<<endl;

    gotoxy(1,15);
    cout<<" The Product of Matrix A and B is :
 "<<endl;

    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;
    cout<<"			 �               �"<<endl;

    gotoxy(13,19);
    cout<<" A * B  = "<<endl;

    int x_1=20;
    int y_1=8;

    int x_2=55;
    int y_2=8;

    int x_3=28;
    int y_3=18;

    for(int i=0;i<3;i  )
    {
       for(int j=0;j<3;j  )
       {
	  gotoxy(x_1,y_1);
	  cout<<matrix_a[i][j];

	  gotoxy(x_2,y_2);
	  cout<<matrix_b[i][j];

	  gotoxy(x_3,y_3);
	  cout<<matrix_c[i][j];

	  x_1 =5;
	  x_2 =5;
	  x_3 =5;
       }

       x_1=20;
       y_1  ;

       x_2=55;
       y_2  ;

       x_3=28;
       y_3  ;
    }

    gotoxy(1,25);
    cout<<"
**************************************************************************
****";
 }

 


 int main( )
 {
    textmode(BW80);
    clrscr( );

    Matrix Obj;

    Obj.get_matrix_a( );
    Obj.get_matrix_b( );
    Obj.multiply_matrices( );
    Obj.show_result_Matrix( );

    getch( );
    return 0;
 }




Report Bug

Please Login to Report Bug

Reported Bugs

Comments

Please Login to Comment

Comments