# Program for addition of two matrices

The below program adds two square matrices of size 4*4, we can change N for different dimension.

## Recommended: Please solve it on “PRACTICE” first, before moving on to the solution.

 `// C++ program for addition  ` `// of two matrices ` `#include ` `using` `namespace` `std; ` `#define N 4  ` ` `  `// This function adds A[][] and B[][], and stores  ` `// the result in C[][]  ` `void` `add(``int` `A[][N], ``int` `B[][N], ``int` `C[][N])  ` `{  ` `    ``int` `i, j;  ` `    ``for` `(i = 0; i < N; i++)  ` `        ``for` `(j = 0; j < N; j++)  ` `            ``C[i][j] = A[i][j] + B[i][j];  ` `}  ` ` `  `// Driver code ` `int` `main()  ` `{  ` `    ``int` `A[N][N] = { {1, 1, 1, 1},  ` `                    ``{2, 2, 2, 2},  ` `                    ``{3, 3, 3, 3},  ` `                    ``{4, 4, 4, 4}};  ` ` `  `    ``int` `B[N][N] = { {1, 1, 1, 1},  ` `                    ``{2, 2, 2, 2},  ` `                    ``{3, 3, 3, 3},  ` `                    ``{4, 4, 4, 4}};  ` ` `  `    ``int` `C[N][N]; ``// To store result  ` `    ``int` `i, j;  ` `    ``add(A, B, C);  ` ` `  `    ``cout << ``"Result matrix is "` `<< endl;  ` `    ``for` `(i = 0; i < N; i++)  ` `    ``{  ` `        ``for` `(j = 0; j < N; j++)  ` `        ``cout << C[i][j] << ``" "``;  ` `        ``cout << endl; ` `    ``}  ` ` `  `    ``return` `0;  ` `}  ` ` `  `// This code is contributed by rathbhupendra `

 `#include ` `#define N 4 ` ` `  `// This function adds A[][] and B[][], and stores ` `// the result in C[][] ` `void` `add(``int` `A[][N], ``int` `B[][N], ``int` `C[][N]) ` `{ ` `    ``int` `i, j; ` `    ``for` `(i = 0; i < N; i++) ` `        ``for` `(j = 0; j < N; j++) ` `            ``C[i][j] = A[i][j] + B[i][j]; ` `} ` ` `  `int` `main() ` `{ ` `    ``int` `A[N][N] = { {1, 1, 1, 1}, ` `                    ``{2, 2, 2, 2}, ` `                    ``{3, 3, 3, 3}, ` `                    ``{4, 4, 4, 4}}; ` ` `  `    ``int` `B[N][N] = { {1, 1, 1, 1}, ` `                    ``{2, 2, 2, 2}, ` `                    ``{3, 3, 3, 3}, ` `                    ``{4, 4, 4, 4}}; ` ` `  `    ``int` `C[N][N]; ``// To store result ` `    ``int` `i, j; ` `    ``add(A, B, C); ` ` `  `    ``printf``(``"Result matrix is \n"``); ` `    ``for` `(i = 0; i < N; i++) ` `    ``{ ` `        ``for` `(j = 0; j < N; j++) ` `           ``printf``(``"%d "``, C[i][j]); ` `        ``printf``(``"\n"``); ` `    ``} ` ` `  `    ``return` `0; ` `} `

 `// Java program for addition  ` `// of two matrices ` ` `  `class` `GFG ` `{ ` `    ``static` `final` `int` `N = ``4``; ` `     `  `    ``// This function adds A[][] and B[][], and stores ` `    ``// the result in C[][] ` `    ``static` `void` `add(``int` `A[][], ``int` `B[][], ``int` `C[][]) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i = ``0``; i < N; i++) ` `            ``for` `(j = ``0``; j < N; j++) ` `                ``C[i][j] = A[i][j] + B[i][j]; ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `A[][] = { {``1``, ``1``, ``1``, ``1``}, ` `                        ``{``2``, ``2``, ``2``, ``2``}, ` `                        ``{``3``, ``3``, ``3``, ``3``}, ` `                        ``{``4``, ``4``, ``4``, ``4``}}; ` `     `  `        ``int` `B[][] = { {``1``, ``1``, ``1``, ``1``}, ` `                        ``{``2``, ``2``, ``2``, ``2``}, ` `                        ``{``3``, ``3``, ``3``, ``3``}, ` `                        ``{``4``, ``4``, ``4``, ``4``}}; ` `     `  `        ``// To store result ` `        ``int` `C[][] = ``new` `int``[N][N];  ` `        ``int` `i, j; ` `        ``add(A, B, C); ` `     `  `        ``System.out.print(``"Result matrix is \n"``); ` `        ``for` `(i = ``0``; i < N; i++) ` `        ``{ ` `            ``for` `(j = ``0``; j < N; j++) ` `            ``System.out.print(C[i][j] + ``" "``); ` `            ``System.out.print(``"\n"``); ` `        ``} ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

 `# Python3 program for addition  ` `# of two matrices ` ` `  `N ``=` `4` `  `  `# This function adds A[][] ` `# and B[][], and stores ` `# the result in C[][] ` `def` `add(A,B,C): ` ` `  `    ``for` `i ``in` `range``(N): ` `        ``for` `j ``in` `range``(N): ` `            ``C[i][j] ``=` `A[i][j] ``+` `B[i][j] ` ` `  `# driver code ` `A ``=` `[ [``1``, ``1``, ``1``, ``1``], ` `    ``[``2``, ``2``, ``2``, ``2``], ` `    ``[``3``, ``3``, ``3``, ``3``], ` `    ``[``4``, ``4``, ``4``, ``4``]] ` `  `  `B``=` `[ [``1``, ``1``, ``1``, ``1``], ` `    ``[``2``, ``2``, ``2``, ``2``], ` `    ``[``3``, ``3``, ``3``, ``3``], ` `    ``[``4``, ``4``, ``4``, ``4``]] ` `  `  `C``=``A[:][:] ``# To store result ` ` `  `add(A, B, C) ` `  `  `print``(``"Result matrix is"``) ` `for` `i ``in` `range``(N): ` `    ``for` `j ``in` `range``(N): ` `        ``print``(C[i][j], ``" "``, end``=``'') ` `    ``print``() ` `     `  `# This code is contributed ` `# by Anant Agarwal. `

 `// C# program for addition  ` `// of two matrices ` `using` `System; ` ` `  `class` `GFG ` `{ ` `    ``static` `int` `N = 4; ` `     `  `    ``// This function adds A[][] and B[][], and stores ` `    ``// the result in C[][] ` `    ``static` `void` `add(``int``[,] A, ``int` `[,]B, ``int` `[,]C) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i = 0; i < N; i++) ` `            ``for` `(j = 0; j < N; j++) ` `                ``C[i,j] = A[i,j] + B[i,j]; ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `Main () ` `    ``{ ` `        ``int` `[,]A = { {1, 1, 1, 1}, ` `                        ``{2, 2, 2, 2}, ` `                        ``{3, 3, 3, 3}, ` `                        ``{4, 4, 4, 4}}; ` `     `  `        ``int` `[,]B = { {1, 1, 1, 1}, ` `                        ``{2, 2, 2, 2}, ` `                        ``{3, 3, 3, 3}, ` `                        ``{4, 4, 4, 4}}; ` `     `  `        ``// To store result ` `        ``int` `[,]C = ``new` `int``[N,N];  ` `        ``int` `i, j; ` `        ``add(A, B, C); ` `     `  `    ``Console.WriteLine(``"Result matrix is "``); ` `        ``for` `(i = 0; i < N; i++) ` `        ``{ ` `            ``for` `(j = 0; j < N; j++) ` `            ``Console.Write(C[i,j] + ``" "``); ` `            ``Console.WriteLine(); ` `        ``} ` `    ``} ` `} ` ` `  `// This code is contributed by vt_m. `

 ` `

Output:

```Result matrix is
2 2 2 2
4 4 4 4
6 6 6 6
8 8 8 8```

The program can be extended for rectangular matrices. The following post can be useful for extending this program.

How to pass a 2D array as a parameter in C?

The time complexity of the above program is O(n2).