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:

  1. Take input of number of rows and columns.
  2. Take input of both the matrices.
  3. Now, use Ci,j= Ai,j – Bi,j
  4. 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

Report Error/ Suggestion

Related Posts:

[yuzo_views]











CopyRight © 2019

CopyRight © 2019