Open In App
Related Articles

Program for addition of two matrices

Improve Article
Improve
Save Article
Save
Like Article
Like

Given two N x M matrices. Find a N x matrix as the sum of given matrices each value at the sum of values of corresponding elements of the given two matrices. 

Approach: Below is the idea to solve the problem.

Iterate over every cell of matrix (i, j), add the corresponding values of the two matrices and store in a single matrix i.e. the resultant matrix.

Follow the below steps to Implement the idea:

  • Initialize a resultant matrix res[N][M].
  • Run a for loop for counter i as each row and in each iteration:
    • Run a for loop for counter j as each column and in each iteration:
      • Add values of the two matrices for index i, j and store in res[i][j].
  • Return res.

Below is the Implementation of above approach.

C++




// C++ program for addition
// of two matrices
#include <bits/stdc++.h>
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;
  
    // Function Call
    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


C




// C Program to add two matrix
#include <stdio.h>
#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




// 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




# 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#




// 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.


PHP




<?php
// This function adds A[][] and 
// B[][], and stores the result in C[][]
function add(&$A, &$B, &$C)
{
    $N = 4;
    for ($i = 0; $i < $N; $i++)
        for ($j = 0; $j < $N; $j++)
            $C[$i][$j] = $A[$i][$j] + 
                         $B[$i][$j];
}
  
// Driver code
$A = array(array(1, 1, 1, 1),
           array(2, 2, 2, 2),
           array(3, 3, 3, 3),
           array(4, 4, 4, 4));
  
$B = array(array(1, 1, 1, 1),
           array(2, 2, 2, 2),
           array(3, 3, 3, 3),
           array(4, 4, 4, 4));
  
$N = 4;
add($A, $B, $C);
  
echo "Result matrix is \n";
for ($i = 0; $i < $N; $i++)
{
    for ($j = 0; $j < $N; $j++)
    {
        echo $C[$i][$j];
        echo " ";
    }
    echo "\n" ;
}
  
// This code is contributed 
// by Shivi_Aggarwal
?>


Javascript




<script>
  
// Javascript program for addition 
// of two matrices
  
let N = 4; 
  
// This function adds A[][] and B[][], and stores 
// the result in C[][] 
function add(A, B, C) 
    let 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
    let A = [ [1, 1, 1, 1], 
                    [2, 2, 2, 2], 
                    [3, 3, 3, 3], 
                    [4, 4, 4, 4]]; 
  
    let B = [ [1, 1, 1, 1], 
                    [2, 2, 2, 2], 
                    [3, 3, 3, 3], 
                    [4, 4, 4, 4]]; 
  
    // To store result
    let C = new Array(N);
    for (let k = 0; k < N; k++)
        C[k] = new Array(N);
          
    let i, j; 
    add(A, B, C); 
  
    document.write("Result matrix is <br>"); 
    for (i = 0; i < N; i++) 
    
        for (j = 0; j < N; j++) 
            document.write(C[i][j] + " "); 
        document.write("<br>");
    
  
</script>


Output

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

Time complexity: O(n2). 
Auxiliary space: O(n2).  since n2 extra space has been taken for storing results

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?


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 16 Feb, 2023
Like Article
Save Article
Similar Reads
Related Tutorials