﻿ C : Multiplication of two Matrices - w3resource
0

# C Exercises: Multiplication of two Matrices

## C Array: Exercise-21 with Solution

Write a program in C for the multiplication of two square matrices.

Visual Presentation:

Sample Solution:

C Code:

``````#include <stdio.h>

int main() {
// Declare matrices and variables
int arr1[50][50], brr1[50][50], crr1[50][50], i, j, k, r1, c1, r2, c2, sum = 0;

// Display multiplication of two matrices
printf("\n\nMultiplication of two Matrices :\n");
printf("----------------------------------\n");

// Input rows and columns of the first matrix
printf("\nInput the rows and columns of the first matrix: ");
scanf("%d %d", &r1, &c1);

// Input rows and columns of the second matrix
printf("\nInput the rows and columns of the second matrix: ");
scanf("%d %d", &r2, &c2);

// Check if multiplication is possible
if (c1 != r2) {
printf("Multiplication of matrices is not possible.\n");
printf("Column of the first matrix and row of the second matrix must be the same.\n");
} else {
// Input elements in the first matrix
printf("Input elements in the first matrix:\n");
for (i = 0; i < r1; i++) {
for (j = 0; j < c1; j++) {
printf("element - [%d],[%d] : ", i, j);
scanf("%d", &arr1[i][j]);
}
}

// Input elements in the second matrix
printf("Input elements in the second matrix:\n");
for (i = 0; i < r2; i++) {
for (j = 0; j < c2; j++) {
printf("element - [%d],[%d] : ", i, j);
scanf("%d", &brr1[i][j]);
}
}

// Display the first matrix
printf("\nThe First matrix is:\n");
for (i = 0; i < r1; i++) {
printf("\n");
for (j = 0; j < c1; j++)
printf("%d\t", arr1[i][j]);
}

// Display the second matrix
printf("\nThe Second matrix is:\n");
for (i = 0; i < r2; i++) {
printf("\n");
for (j = 0; j < c2; j++)
printf("%d\t", brr1[i][j]);
}

// Matrix multiplication
for (i = 0; i < r1; i++) { // Row of first matrix
for (j = 0; j < c2; j++) { // Column of second matrix
sum = 0;
for (k = 0; k < c1; k++)
sum = sum + arr1[i][k] * brr1[k][j];
crr1[i][j] = sum;
}
}

// Display the result of matrix multiplication
printf("\nThe multiplication of two matrices is:\n");
for (i = 0; i < r1; i++) {
printf("\n");
for (j = 0; j < c2; j++)
printf("%d\t", crr1[i][j]);
}
}
printf("\n\n");
return 0;
}
```
```

Sample Output:

```Multiplication of two Matrices :
----------------------------------

Input the rows and columns of first matrix : 2
2

Input the rows and columns of second matrix : 2
2
Input elements in the first matrix :
element - [0],[0] : 1
element - [0],[1] : 2
element - [1],[0] : 3
element - [1],[1] : 4
Input elements in the second matrix :
element - [0],[0] : 5
element - [0],[1] : 6
element - [1],[0] : 7
element - [1],[1] : 8

The First matrix is :

1       2
3       4
The Second matrix is :

5       6
7       8
The multiplication of two matrices is :

19      22
43      50
```

Flowchart:

C Programming Code Editor:

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿