C言語で複数列のデータをマージする方法

C言語では、多次元配列を使って多列のデータを格納し、ループ処理で多次元配列のデータを1列にまとめることが可能です。簡単なサンプルコードは以下のとおりです。

#include <stdio.h>

#define ROWS 3
#define COLS 4

int main() {
    int data[ROWS][COLS] = {
        {1, 2, 3, 4},
        {5, 6, 7, 8},
        {9, 10, 11, 12}
    };
    int merged[ROWS * COLS];
    int index = 0;

    // 将多列数据合并成一列
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            merged[index++] = data[i][j];
        }
    }

    // 打印合并后的结果
    printf("Merged data: ");
    for (int i = 0; i < ROWS * COLS; i++) {
        printf("%d ", merged[i]);
    }
    printf("\n");

    return 0;
}

上記コードを実行すると、以下の結果が出力されます。

Merged data: 1 2 3 4 5 6 7 8 9 10 11 12

上記のコードでは、ROWS × COLS の一次元配列 merged を使用して結合されたデータを格納します。その後、2 つのネストしたループによって二次元配列 data を反復処理し、各要素を順番に merged 配列に格納します。最後に、結合された結果が出力されます。

bannerAds