-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path07.MatrixMultiplication.c
More file actions
62 lines (61 loc) · 1.73 KB
/
07.MatrixMultiplication.c
File metadata and controls
62 lines (61 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
7. Develop, implement and execute a C program that reads two matrices A (m x n ) and B
(p x q ) and Compute product of matrices A and B. Read matrix A and matrix B in row
major order and in column major order respectively. Print both the input matrices and resultant
matrix with suitable headings and output should be in matrix format only. Program must
check the compatibility of orders of the matrices for multiplication. Report appropriate
message in case of incompatibility.
*/
#include <stdio.h>
void main()
{
int a[5][5], b[5][5], c[5][5], m, n, p, q, i, j, k;
printf("Enter the order of first matrix\n");
scanf("%d%d", &m, &n);
printf("Enter the order of second matrix\n");
scanf("%d%d", &p, &q);
if (n == p)
{
printf("Enter the elements of first matrix\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
printf("Enter the elements of first matrix\n");
for (i = 0; i < p; i++)
{
for (j = 0; j < q; j++)
{
scanf("%d", &b[i][j]);
}
}
for (i = 0; i < m; i++)
{
for (j = 0; j < q; j++)
{
c[i][j] = 0;
for (k = 0; k < n; k++)
{
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
}
}
printf("The resultant matrix is\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < q; j++)
{
printf("%d\t", c[i][j]);
}
printf("\n");
}
}
else
{
printf("Multiplication is not possible\n");
}
return;
}