Saturday 22 November 2014

Write a C Program to Print the Multiplication of Two Matrices

Write a C Program to Print the Multiplication of Two Matrices


    Multiplication of Matrix
    Statement of C Program: This Program accepts two Matrices of different or same order and Find the product of these Matrices and prints the Product Matrix:

    Condition: The Column of First Matrix must be Equal to the Row of the Second Matrix.




    Matrix Multiplication Condition

    #include<stdio.h>
    #include<conio.h>
    void main()
    {
    int Matrix A[9][9] , MatrixB[9][9] , Matrixsproduct [9][9] ;

    int n , i , j , k;                              /* 'i' used for rows and 'j' used for columns */

    int Row1 , Row2 , Column1 , Column2;
    clrscr();
    printf(" Enter the order of Matrix A\n");
    scanf("%d * %d " , &Row1 , &Column1);

    printf(" Enter the order of Matrix B\n");
    scanf("%d * %d " , &Row2 , &Column2);

    if(Column1 == Row2)
    {
    printf(" Enter the elements of Matrix A\n");
    for(i=0 ; i<Row1 ; i++)
    {
    for(j=0 ; j<Column1 ; j++)
    {
    scanf("%d" , &Matrix A[i][j] );
    }
    }

    printf(" Enter the elements of Matrix B\n");
    for(i=0 ; i<Row2 ; i++)
    {
    for(j=0 ; j<Column2 ; j++)
    {
    scanf("%d" , &Matrix B[i][j] );
    }
    }

                                                         /* Product of two Matrices */

    for(i=0 ; i<Row1 ; i++)
    {
    for(j=0 ; j<Column2 ; j++)
    {
    Matrixproduct[i][j] = 0 ;
    for(k=0 ; k<Row2 ; k++)
    {
    Matrixproduct[i][j] = Matrixproduct[i][j] + ( Matrix A[i][k] * Matrix B[k][j] );
    }
    }
    }

    printf(" Product Matrix\n");
    for(i=0 ; i< Row1 ; i++)
    {
    for(j=0 ;j< Column2;j++)
    {
    printf("%d" , Matrixproduct[i][j] );
    }
    printf("\n");
    }
    }                                                                    /* End of if */

    else
    {
    printf(" Invalid order so Multiplication not possible\n");
    }                                                                 /* End of main() */

     Output:
     Enter the order of Matrix A
     2 * 2
     Enter the order of MatrixB
     2 * 2
     Enter the elements of Matrix A
     1
     2
     3
     4
     Enter the elements of Matrix B 
     5
     6
     7
     8
     Product Matrix
     19      22
     43      50


                                                                  That's All

    No comments:

    Post a Comment