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.