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 input and display details of students using structure

 C Program to input and display details of students using structure.       In this example, we will enter the details of students like roll number, name and total marks using structure and will be displayed. The total number of student should be entered according to the requirements of the user(maximum value is 50). We can increase the maximum number by changing the statement struct student[50];  to struct student[100];     Here in the output we have entered details of four student and displayed them accordingly. PROGRAM #include <stdio.h> #include <conio.h> struct   student {      int   roll ;      char   name [ 20 ];      int   total ; }; void   main () {      int   i , n ;      struct   student   std [ 50 ];      printf ( "Enter the number of students ...

C program to calculate area of a circle using function.

C program to calculate area of a circle. In this example we will learn to calculate the area of a circle. Here in this program we will use 3.14 as the value of pi.  The formula to calculate the area of a circle is:                                                         area=   π  r² Flowchart To Calculate the Area of a Circle: PROGRAM: #include <conio.h> #include <stdio.h> int   main () {      float   radius , area ;      printf ( "Enter the radius of the circle : " );      scanf ( "%f" ,& radius );      area = 3.14 * radius * radius ;          printf ( "Area of the circle is : %.2f" , area );  ...

C Program to Check a Whether a Number is Divisible by 5 or Not

 C Program to Check a Whether a Number is Divisible by 5 or Not            In this program we will check a number entered by the user will be divisible by 5 or Not. We have solved this problem using if-else statement. Program: #include <stdio.h> #include <conio.h> int  main() {      int  x;     printf( "Enter a number" );     scanf( "%d" ,&x);      if (x% 5 == 0 )         printf( "The number %d is divisible by 5" ,x);      else         printf( "The number %d is not divisible by 5" ,x);      return   0 ; } Output: NOTE:   You Can Comment Your Code if you have solved differently and we will pin it in the comment section.  Let's Learn toget...

C Program to input Values in a 2x2 square matrix and display the value

 C Program to input Values in a 2x2 square matrix and display the value     In this example, we will accept values from the user in a 2x2 square and matrix and then it is displayed. To solve this problem we must know what is matrices and arrays. What are Arrays?      An array is a data structure for storing more than one data member of similar data type.          Array can be of following types: One-dimensional Array Two-dimensional Array Multi-dimensional Array             In Array we must always initialize values. PROGRAM #include <stdio.h> #include <conio.h> int   main () {      int   a [ 2 ][ 2 ], i , j ;      printf ( "Enter the values of the matrix:" );      for ( i = 0 ; i < 2 ; i ++)     {          for ( j = 0 ; j < 2 ...

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 );  ...