1
+ #include < iostream>
2
+ using namespace std ;
3
+ void multiply (int [5 ][5 ], int [5 ][5 ], int , int , int );
4
+ int display (int [5 ][5 ], int , int );
5
+ int main ()
6
+ {
7
+
8
+ int a[5 ][5 ], b[5 ][5 ], r1, c1, r2, c2;
9
+ cout<<" \n Enter rows for first matrix: " ;
10
+ cin>>r1;
11
+ cout<<" \n Enter columns for second matrix: " ;
12
+ cin>>c1;
13
+
14
+ cout<<" \n Enter rows for first matrix: " ;
15
+ cin>>r2;
16
+ cout<<" \n Enter columns for second matrix: " ;
17
+ cin>>c2;
18
+
19
+ // To check if columns of first matrix are equal to rows of second matrix
20
+
21
+ if (c1 != r2)
22
+ return 0 ;
23
+
24
+ // Storing elements of first matrix.
25
+
26
+ cout<<" \n Enter elements of first matrix \n " ;
27
+
28
+ for (int i=0 ; i<r1; i++)
29
+ {
30
+ for (int j=0 ; j<c1; j++)
31
+ cin>>a[i][j];
32
+
33
+ }
34
+ // Storing elements of second matrix.
35
+ cout<<" \n Enter elements of second matrix\n " ;
36
+
37
+ for (int i=0 ; i<r2; i++)
38
+ {
39
+ for (int j=0 ; j<c2; j++)
40
+ cin>>b[i][j];
41
+ }
42
+ display (a,r1,c1);
43
+ display (b,r2,c2);
44
+ // calling the function to multiply a and b. passing number of rows
45
+ // and columns in both of them
46
+ multiply (a, b, r1, c2, c1);
47
+ return 0 ;
48
+ }
49
+
50
+ void multiply (int a[5 ][5 ], int b[5 ][5 ], int row, int col, int c1)
51
+ {
52
+ int c[5 ][5 ];
53
+ // input 0 for all values of c, in order to remove
54
+ // the garbage values assigned earlier
55
+ for (int i=0 ; i<row; i++)
56
+ {
57
+ for (int j=0 ; j<col; j++)
58
+ c[i][j]=0 ;
59
+ }
60
+ // we apply the same formula as above
61
+ for (int i=0 ; i<row; i++)
62
+ {
63
+ for (int j=0 ; j<col; j++)
64
+ {
65
+ for (int k=0 ; k<c1; k++)// columns of first matrix || rows of second matrix
66
+ c[i][j]+=a[i][k]*b[k][j];
67
+ }
68
+ }
69
+ // to display matrix
70
+ cout<<" \n Matrix c after matrix multiplication is:\n " ;
71
+ display (c, row, col);
72
+ }
73
+ int display (int c[5 ][5 ], int row, int col)
74
+ {
75
+ cout<<" \n Matrix is:\n " ;
76
+ for (int i=0 ; i<row; i++)
77
+ {
78
+ for (int j=0 ; j<col; j++)
79
+ cout<<c[i][j]<<" " ;
80
+ cout<<" \n " ;
81
+ }
82
+ return 0 ;
83
+ }
0 commit comments