C言語で2次元配列の各行の合計を求める方法

2次元配列の各行の合計を求めるには、2重ループで2次元配列を反復処理して、内側のループで各行の合計を求めます。以下は、この機能を実現するサンプルコードです。

#include <stdio.h>

#define ROWS 3
#define COLS 4

void rowSum(int array[][COLS], int rowSumArray[]) {
    for (int i = 0; i < ROWS; i++) {
        int sum = 0;
        for (int j = 0; j < COLS; j++) {
            sum += array[i][j];
        }
        rowSumArray[i] = sum;
    }
}

int main() {
    int array[ROWS][COLS] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    int rowSumArray[ROWS];
    
    rowSum(array, rowSumArray);
    
    printf("各行的和为:\n");
    for (int i = 0; i < ROWS; i++) {
        printf("第 %d 行的和为:%d\n", i + 1, rowSumArray[i]);
    }
    
    return 0;
}

下記の結果を出力する:

各行的和为:
第 1 行的和为:10
第 2 行的和为:26
第 3 行的和为:42

上記のサンプルコードでは、rowSum関数が各行の和を計算し、rowSumArray配列に格納します。main関数では、二次元配列arrayを定義し、rowSum関数を呼び出して各行の和を計算します。最後に、printf関数を使用して各行の和を出力します。

bannerAds