Program for Matrix Multiplication

0 June 15, 2021

In this example, We will learn a program for matrix multiplication. Before that, You must have knowledge of the following topics.

Download Application: Learn C Programming with Live Compiler

Rules for Matrix Multiplication

Here are the few important notes you must know for matrix multiplication

  • We can multiply matrix if only number of columns of first matrix = number of rows of second matrix
1    2   3   6      2  8  0
3    4   2   0  *   4  6  2
                    1  2  0
   4 COLUMNS        0  1  4
                     4 ROWS

     4 COLUMNS = 4 ROWS

Step for Matrix Multiplication

To perform the matrix multiplication

  • Step 1: Make sure number of columns of 1st column is equal to rows of second columns.
  • Step 2: Multiply elements of each rows of first matrix to the each columns of second marix
  • Step 3: Add the products

CODE: Program for Matrix Multiplication

Now, We will see the code to sort array elements using for loop.

#include<stdio.h>

int main(){
    
    int n, m, c, d, p, q, k, first[10][10], second[10][10], pro[10][10],sum = 0;

    printf("\nEnter the number of rows and columns of the 1st matrix: \n\n");
    scanf("%d%d", &m, &n);

    printf("\nEnter the %d elements of the 1st matrix: \n\n", m*n);
    for(c = 0; c < m; c++)
        for(d = 0; d < n; d++)
            scanf("%d", &first[c][d]);

    printf("\nEnter the number of rows and columns of the 1st matrix: \n\n");
    scanf("%d%d", &p, &q);

    if(n != p){

        printf("Matrices with the given order cannot be multiplied with each other.\n\n");

    } else {
        
        printf("\nEnter the %d elements of the 2nd matrix: \n\n",m*n);

        for(c = 0; c < p; c++)
            for(d = 0; d < q; d++)
                scanf("%d", &second[c][d]);

        // printing the 1st matrix
        printf("\n\nThe 1st matrix is: \n\n");
        for(c = 0; c < m; c++)
        {
            for(d = 0; d < n; d++)
            {
                printf("%d\t", first[c][d]);
            }
            printf("\n");
        }

        // printing the 2nd matrix
        printf("\n\nThe 2nd matrix is: \n\n");
        for(c = 0; c < p; c++)
        {
            for(d = 0; d < q; d++)
            {
                printf("%d\t", second[c][d]);
            }
            printf("\n");
        }

        for(c = 0; c < m; c++)
        {
            for(d = 0; d < q; d++)
            {
                for(k = 0; k < p; k++)
                {
                    sum = sum + first[c][k]*second[k][d];
                }
            pro[c][d] = sum;
            sum = 0;
            }
        }

        // printing the elements of the product matrix
        printf("\n\nThe multiplication of the two entered matrices is: \n\n");
        for(c = 0; c < m; c++)
        {
            for(d = 0; d < q; d++)
            {
                printf("%d\t", pro[c][d]);
            }
            printf("\n");
        }
    }
    
    return 0;
}

The output of above program is


Enter the number of rows and columns of the 1st matrix:

2
2

Enter the 4 elements of the 1st matrix:

1
2
3
4

Enter the number of rows and columns of the 2nd matrix:

2
2

Enter the 4 elements of the 2nd matrix:

7
5
3
2


The 1st matrix is:

1       2
3       4


The 2nd matrix is:

7       5
3       2


The multiplication of the two entered matrices is:

13      9
33      23
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Join Our Newsletter Now

Get the latest tutorials, examples and projects updates.

!

Ads

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Disable Ad Block

Want Same System