Program for addition of two matrices

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}
chevron_right

filter_none

edit
close

play_arrow

link
brightness_4
code

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

filter_none

edit
close

play_arrow

link
brightness_4
code

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>
chevron_right

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

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.





Improved By : Shivi_Aggarwal, rathbhupendra

Article Tags :
Practice Tags :