In this tutorial, we will see three ways to add two Matrices in C++ – 1) Using a simple C++ program without using function 2) Adding two matrices using function 3) Using class and function.

## A Simple C++ program to add two Matrices

Here we are asking user to input number of rows and columns of matrices and then we ask user to enter the elements of both the matrices, we are storing the input into a multidimensional array for each matrix and after that we are adding corresponding elements of both the matrices and displaying them on screen.

#include<iostream> using namespace std; int main() { int row, col, m1[10][10], m2[10][10], sum[10][10]; cout<<"Enter the number of rows(should be >1 and <10): "; cin>>row; cout<<"Enter the number of column(should be >1 and <10): "; cin>>col; cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<row;i++ ) { for (int j = 0;j < col;j++ ) { cin>>m1[i][j]; } } cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<row;i++ ) { for (int j = 0;j<col;j++ ) { cin>>m2[i][j]; } } cout<<"Output: "; for (int i = 0;i<row;i++ ) { for (int j = 0;j<col;j++ ) { sum[i][j]=m1[i][j]+m2[i][j]; cout<<sum[i][j]<<" "; } } return 0; }

**Output:**

Enter the number of rows(should be >1 and <10): 2 Enter the number of column(should be >1 and <10): 3 Enter the elements of first 1st matrix: 1 2 3 4 5 6 Enter the elements of first 1st matrix: 5 5 5 5 5 5 Output: 6 7 8 9 10 11

## 2) Program to Add two Matrices using function

In this program, instead of writing everything in main() function, we have created a user defined function `sum(int, int)`

in which we pass number of rows and number of columns entered by user. This function creates two matrices based on the passed rows and columns, add the corresponding elements of matrices and then displays the result.

#include<iostream> using namespace std; void sum(int, int); int main(){ int row, col; cout<<"Enter the number of rows(should be >1 and <10): "; cin>>row; cout<<"Enter the number of column(should be >1 and <10): "; cin>>col; sum(row, col); return 0; } void sum(int r, int c){ int m1[r][c], m2[r][c], s[r][c]; cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j < c;j++ ) { cin>>m1[i][j]; } } cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j<c;j++ ) { cin>>m2[i][j]; } } cout<<"Output: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j<c;j++ ) { s[i][j]=m1[i][j]+m2[i][j]; cout<<s[i][j]<<" "; } } }

**Output:**

Enter the number of rows(should be >1 and <10): 2 Enter the number of column(should be >1 and <10): 3 Enter the elements of first 1st matrix: 1 1 1 1 1 1 Enter the elements of first 1st matrix: 10 20 30 40 50 60 Output: 11 21 31 41 51 61

## Addition using Class and function

The same logic that we have seen above can be applied while writing this program using class and function.

#include<iostream> using namespace std; class Add{ public: void sum(int r, int c){ int m1[r][c], m2[r][c], s[r][c]; cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j < c;j++ ) { cin>>m1[i][j]; } } cout << "Enter the elements of first 1st matrix: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j<c;j++ ) { cin>>m2[i][j]; } } cout<<"Output: "; for (int i = 0;i<r;i++ ) { for (int j = 0;j<c;j++ ) { s[i][j]=m1[i][j]+m2[i][j]; cout<<s[i][j]<<" "; } } } }; int main(){ int row, col; cout<<"Enter the number of rows(should be >1 and <10): "; cin>>row; cout<<"Enter the number of column(should be >1 and <10): "; cin>>col; Add obj; obj.sum(row, col); return 0; }

**Output:**

Enter the number of rows(should be >1 and <10): 2 Enter the number of column(should be >1 and <10): 3 Enter the elements of first 1st matrix: 1 1 1 1 1 1 Enter the elements of first 1st matrix: 5 5 5 5 5 5 Output: 6 6 6 6 6 6

## Leave a Reply