C Program for Matrix Multiplication

The ordinary matrix multiplication is the most often used and the most important way to multiply matrices. It is defined between two matrices only if the width of the first matrix equals the height of the second matrix. Multiplying an m×n matrix with an n×p matrix results in an m×p matrix.

The C program below show the matrix multiplication. The exe file can be downloaded from here : Matrix Multiplication

Programming Geeks : C Program for Matrix Multiplication

# include "stdio.h"
main()
{
    int m1[10][10],i,j,k,m2[10][10],mult[10][10],r1,c1,r2,c2;
    printf("Enter number of rows and columns of first matrix (less than 10)\n");
    scanf("%d%d",&r1,&c1);
    printf("Enter number of rows and columns of second matrix (less than 10)\n");
    scanf("%d%d",&r2,&c2);
    if(r2==c1)
    {
        printf("Enter rows and columns of First matrix \n");
        printf("Row wise\n");
        for(i=0;i<r1;i++)
            for(j=0;j<c1;j++)
                scanf("%d",&m1[i][j]);
        printf("First Matrix is :\n");
        for(i=0;i<r1;i++)
        {
            for(j=0;j<c1;j++)
                printf("%d\t",m1[i][j]);
            printf("\n");
        }
        printf("Enter rows and columns of Second matrix \n");
        printf("Row wise\n");
        for(i=0;i<r2;i++)
            for(j=0;j<c2;j++)
                scanf("%d",&m2[i][j]);
        printf("Second Matrix is:\n");
        for(i=0;i<r2;i++)
        {
            for(j=0;j<c2;j++)
                printf("%d\t",m2[i][j]);
            printf("\n");
        }
        printf("Multiplication of the Matrices:\n");
        for(i=0;i<r1;i++)
        {
            for(j=0;j<c2;j++)
            {
                mult[i][j]=0;
                for(k=0;k<r1;k++)
                    mult[i][j]+=m1[i][k]*m2[k][j];
                printf("%d\t",mult[i][j]);
            }
            printf("\n");
        }
    }
    else
    {
        printf("Matrix multiplication cannot be done");
    }
    return 0;
}


Related Posts

  • Share/Bookmark
You can leave a response, or trackback from your own site.

18 Responses to “C Program for Matrix Multiplication”

  1. Do you mind if I use the information I got reading from this website on the project that I’m working? I will properly cite you.

  2. Prabhat says:

    Thanks to provide the solution……of multiplication of array…

  3. Bruce Warrior says:

    Thanks you! This was useful for me! It’s clear and easy to understand

  4. online games says:

    your code for mat multi was useful…thanks’

  5. Bibhuti says:

    Really very helpful………………

  6. aravind says:

    tanq

  7. nikhil gupta says:

    thanx…..really useful for quick revision.

  8. shwetha says:

    Thanks for the code……

  9. Sandy says:

    Thanksssss da its very easy to understand

  10. Miki says:


    for(k=0;k<r1;k++)
    mult[i][j]+=m1[i][k]*m2[k][j];

    Not good.

    It should be:

    for(k=0;k<c1;k++)
    mult[i][j]+=m1[i][k]*m2[k][j];

  11. Miki is right. The counter of third loop in multiplication must be less then column1 not row1.

    for(k=0;k<c1;k++) /* corrected code */

  12. ramjanam prasad says:

    thanks

  13. thomess says:

    Miki is corcrect . k should have the counter of c1=r2, not R1.

  14. Nidhin says:

    Thanks for providing this code.It works really well.

  15. peter says:

    nice code dude
    will anybody suggest me good books for matlab in image processing.

  16. firoz says:

    correction:
    in the for command line
    for(k=0;k<r1;k++);
    the condition given is wrong…
    it should be either k<r2 or k<c1
    plzz correct it..

Leave a Reply

| Shop Free Cellular Phones at Bestincellphones.com. | Thanks to Best CD Rates, iCellPhoneDeals.com Offers Best Cell Phone Deals. and Incinerador De Grasa