📜  两个矩阵相加的程序

📅  最后修改于: 2022-05-13 01:57:22.430000             🧑  作者: Mango

两个矩阵相加的程序

下面的程序添加了两个大小为 4*4 的方阵,我们可以根据不同的维度改变 N。

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


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


Javascript


输出:

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

该程序可以扩展为矩形矩阵。以下帖子可用于扩展此程序。
如何在C中将二维数组作为参数传递?
上述程序的时间复杂度为 O(n 2 )。