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 the Digits of a Number in Words

 C program to Print the Digits of a Number in Words.      In this example, we will print the digits of a number in words.  For example, if a number 841 is entered through the keyboard  then the program must print “Eight Four One". For solving this first we have to reverse the number than by using switch statement we willl print the digits of the number in words.    PROGRAM TO PRINT THE DIGITS OF A NUMBER IN WORDS #include <stdio.h> #include <conio.h> void   main () {      int   n , num = 0 ;      printf ( "Enter the Number : " );      scanf ( " %d " ,& n );      while ( n != 0 )     {          num =( num * 10 )+( n % 10 );          n /= 10 ;     }      printf ( "Printing the...

C Program to print the first N even numbers in reverse order.

 C Program to print the first N even numbers in reverse order.      In this example, we will print the first N even numbers in reverse order. Here N is the total number of even numbers you want to print. PROGRAM TO PRINT THE FIRST N EVEN NUMBERS IN REVERSE ORDER: #include <stdio.h> #include <conio.h> int   main () {      int   even , n , i ;      printf ( "Enter the value of N : " );      scanf ( " %d " ,& n );      printf ( "Printing first  %d  even numbers in reverse order : " , n );      for ( i = n * 2 ; i > 2 ; i --)     {          if ( i % 2 == 0 )         {              printf ( " %d \t " , i );  ...

C Program to Add Two Matrices Using Multi-dimensional Array.

C Program to Add Two Matrices Using Multi-dimensional Array.       In this example, we will add two matrices using multi-dimensional array. Two matrices can be added if they are equal means their order/dimensions must be same. Addition of matrices is performed by adding the corresponding elements of the two matrices.     Here in the Output we have  allowed the user to enter the row and column size of their matrices according to their requirements but they can enter the value of row size and column size less than 100. PROGRAM #include <stdio.h> #include <conio.h> int   main () {      int   row , column , i , j , a [ 100 ][ 100 ], b [ 100 ][ 100 ], c [ 100 ][ 100 ];      printf ( "Enter the row size of the matrices(max. value 100) : " );      scanf ( " %d " ,& row );      printf ( "Enter the co...

C Program to find the sum of the elements of a 2-D array.

 C Program to find the sum of the elements of a 2-D array.     In this example, we will find the sum of the elements of a 2-D array allowing the user to enter the row size and column size according to their requiremnts.      Here in the output we have entered a row  size 3 and column size 3. PROGRAM #include <stdio.h> #include <conio.h> void   main () {      int   a [ 50 ][ 50 ], r , c , i , j , sum = 0 ;      printf ( "Enter the row size and column size of the array :" );      scanf ( " %d%d " ,& r ,& c );      printf ( "Enter the elements of the array : " );      for ( i = 0 ; i < r ; i ++)     {          for ( j = 0 ; j < c ; j ++)       ...

C Program to determine the Range and Average of the values entered by the user(to terminate enter -1).

C Program to determine the Range and Average of the values entered by the user(to terminate enter -1).     This is a program to calculate the range and average of the values entered by the user and to terminate it by entering -1 and it will determine the highest-value, lowest-value, range, average and also it will count the number of values entered by the user. PROGRAM: #include <stdio.h> #include <math.h> int   main () {      int   count = 0 ;      float   value , high , low , average , range , sum = 0 ;      printf ( "Enter the values (to terminate enter -1) : \n " );      while ( 1 )     {          scanf ( "%f" ,& value );          if ( value !=- 1 )         {      ...