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 配列に格納します。最後に、結合された結果が出力されます。