两个矩阵相加的程序
下面的程序添加了两个大小为 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 )。