使用二维数组

using 2 dimensional arrays?

本文关键字:二维数组      更新时间:2023-10-16

谁能帮我写一个C程序,添加二维数组命名为Array1和Array2的等效元素?两个数组都应该有两行三列

Array1

10  20  30  
40  50  60  

Array2

24  36  48  
16  12  8

二维数组在C/c++中是连续表示的,所以这应该可以工作:

void arraySum(int* sum, const int* a, const int* b, int rows, int cols)
{
    for (int i = 0; i < rows*cols; i++)
        sum[i] = a[i] + b[i];
}
int a[2][3] = ...;
int b[2][3] = ...;
int c[2][3];
arraySum((int*)c, (const int*)a, (const int*)b, 2, 3);

或者,更多矩阵的c++:

template<int R, int C>
void arraySum(int sum[R][C], const int a[R][C], const int b[R][C])
{
    for (int i = 0; i < R; i++) {
        for (int j = 0; j < C; j++) {
                sum[i][j] = a[i][j] + b[i][j];
            }
    }
}
int a[2][3] = ...;
int b[2][3] = ...;
int c[2][3];
arraySum<2,3>(a, b, c);

(很抱歉第一个答案是c)