Skip to main content

C Program to Multiply two Matrices

 C Program to Multiply two Matrices.

    In this example, we will calculate the product of the two matrices allowing the user to enter their required number of rows and columns. In matrix multiplication the number of columns, in the first matrix must be equal to the number of  rows in the second matrix, otherwise multiplication is not possible. The product will have the number of rows of the first matrix and the number of columns of the second matrix.

    Here in the output we have taken two matrices of order 2x3 and 3x2. The resulting matrix after calculating the product will be of the order 2x2.

PROGRAM

#include<stdio.h>
#include<conio.h>
void main()
{
    int row1,row2,column1,column2,i,j,k;
    int a[10][10],b[10][10],mul[10][10];
    printf("Enter the row size of the 1st Matrix : ");
    scanf("%d",&row1);
    printf("Enter the column size of the 1st Matrix : ");
    scanf("%d",&column1);
    printf("Enter the elements of the 1st Matrix : ");
    for(i=0;i<row1;i++)
    {
        for(j=0;j<column1;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    printf("Enter the row size of the 2nd Matrix : ");
    scanf("%d",&row2);
    printf("Enter the column size of the 2nd Matrix : ");
    scanf("%d",&column2);
    printf("Enter the elements of the 2nd Matrix : ");
    for(i=0;i<row2;i++)
    {
        for(j=0;j<column2;j++)
        {
            scanf("%d",&b[i][j]);
        }
    }
    if(column1!=row2)
    {
        printf("The multiplication isn't possible.\n");
    }
    else
    {
    for(i=0;i<row1;i++)
    {
        for(j=0;j<column2;j++)
            {
                mul[i][j]=0;
                for(k=0;k<row2;k++)
                {
                    mul[i][j]+=a[i][k]*b[k][j];
                }
            }
        }
        printf("Multiplication of the two matrices is : \n");
        for(i=0;i<row1;i++)
        {
            for(j=0;j<column2;j++)
            {
                printf("%d\t",mul[i][j]);
            }
            printf("\n");
        }
    }
    getch();
}


OUTPUT

 Enter the row size of the 1st Matrix : 2

 Enter the column size of the 1st Matrix : 3

 Enter the elements of the 1st Matrix : 0

 -1

 2

 4

 11 

 2

 Enter the row size of the 2nd Matrix : 3

 Enter the column size of the 2nd Matrix : 2

 Enter the elements of the 2nd Matrix : 3

 -1

 1

 2

 6

 1

 Multiplication of the two matrices is : 

 11      0

 35      20


NOTE: You Can Comment Your Code if you have solved differently and we will pin it in the comment section.  Let's Learn together. 


MOTTO: 

You Learn, I Learn together We Learn.


Comments

Popular posts from this blog

C Program to Print first N Even Natural Number/in Reverse Order

  C Program to Print first N Even Natural Number.     In this example, we will find and print the first N even natural. Here we have used for loop to solve this program.      What are Natural Numbers? Natural Numbers are all positive numbers starting from 1 to infinity.      For Example:  1,2,3,4,5,6,.............................,n are all natural numbers. What are Even Numbers? Even numbers are those numbers whose remainder is 0 when divided by 2.     For Example: 2,4,6,8,10,.....,n are all even numbers.   PROGRAM: #include <stdio.h> #include <conio.h> void   main () {      int   i , x ;      printf ( "Enter the value of N : " );      scanf ( " %d " ,& x );      for ( i = 1 ; i <= x ; i ++)     {          printf ( " %d " , 2 * i );     }      getch (); } OUTPUT: C Program to Print First N Even Natural Number in Reverse Order. PROGRAM 123 #include <conio.h> #include <stdio.h> int   main () {      int   i , x ;      printf