Header Ads

C Program to multiply two matrices

C Program to multiply two matrices
The below program multiplies two square matrices of size 4*4, we can change N for different dimension.
// C program to multiply two square matrices.
#include <stdio.h>
#define N 4
// This function multiplies mat1[][] and mat2[][],
// and stores the result in res[][]
void multiply(int mat1[][N], int mat2[][N], int res[][N])
{
    int i, j, k;
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
        {
            res[i][j] = 0;
            for (k = 0; k < N; k++)
                res[i][j] += mat1[i][k]*mat2[k][j];
        }
    }
}
int main()
{
    int mat1[N][N] = { {1, 1, 1, 1},
                    {2, 2, 2, 2},
                    {3, 3, 3, 3},
                    {4, 4, 4, 4}};

    int mat2[N][N] = { {1, 1, 1, 1},
                    {2, 2, 2, 2},
                    {3, 3, 3, 3},
                    {4, 4, 4, 4}};
    int res[N][N]; // To store result
    int i, j;
    multiply(mat1, mat2, res);
    printf("Result matrix is \n");
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
           printf("%d ", res[i][j]);
        printf("\n");
    }
    return 0;
}
Output:
Result matrix is
10 10 10 10
20 20 20 20
30 30 30 30
40 40 40 40

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Powered by Blogger.