Subtraction of matrices in C++
Written by
To subtract two matrices, we need two matrices having the same number of rows and columns. The subtraction is done by subtracting corresponding elements.
Algorithm:
- Take input of number of rows and columns.
- Take input of both the matrices.
- Now, use Ci,j= Ai,j – Bi,j
- Print matrix C.
Code:
#include <iostream> using namespace std; void subtract(int[5][5], int[5][5], int, int); int display(int[5][5], int, int); int main() {
int a[5][5], b[5][5], r1, c1, r2, c2; cout<<"\n Enter rows for first matrix: "; cin>>r1; cout<<"\n Enter columns for second matrix: "; cin>>c1; cout<<"\n Enter rows for first matrix: "; cin>>r2; cout<<"\n Enter columns for second matrix: "; cin>>c2;
// To check if columns of first matrix are equal to rows of second matrix
if (r1 != r2 || c1!=c2) return 0;
// Storing elements of first matrix.
printf("\nEnter elements of first matrix \n");
for(int i=0; i<r1; i++) { for(int j=0; j<c1; j++) cin>>a[i][j];
}
// Storing elements of second matrix. cout<<"\nEnter elements of second matrix\n";
for(int i=0; i<r2; i++) { for(int j=0; j<c2; j++) cin>>b[i][j]; } cout<<"\n display a\n"; display(a, r1, c1); cout<<"\n display a\n"; display(b, r2, c2); //calling the function to subtract a and b. passing number of rows //and columns in both of them subtract(a, b, r1, c1); return 0; }
void subtract(int a[5][5], int b[5][5], int row, int col) { int c[5][5]; //input 0 for all values of c, in porder to remove //the garbage values assigned earlier for(int i=0; i<row; i++) { for(int j=0; j<col; j++) c[i][j]=0; } //we apply the same formula as above for(int i=0; i<row; i++) { for(int j=0; j<col; j++) c[i][j]=a[i][j]-b[i][j]; } //to display matrix cout<<"\n Matrix c after Subtraction is:\n"; display(c, row, col); } int display(int c[5][5], int row, int col) { for(int i=0; i<row; i++) { for(int j=0; j<col; j++) cout<<c[i][j]<<" "; cout<<"\n"; } return 0; }
Output:
Enter rows for first matrix: 3 Enter columns for second matrix: 3 Enter rows for first matrix: 3 Enter columns for second matrix: 3 Enter elements of first matrix
76 35 24 24 56 24 86 25 75
Enter elements of second matrix
5 7 8 7 3 6 6 3 7
display a 76 35 24 24 56 24 86 25 75
display b 5 7 8 7 3 6 6 3 7
Matrix c after Subtraction is: 71 28 16 17 53 18 80 22 68