Skip to content
Related Articles

Related Articles

Program for addition of two matrices

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 21 Jul, 2022

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

Implementation:

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




#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

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?

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


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!