#include <stdio.h>
#define LEN1 7
#define LEN2 5
// data1 に data2 を連結する関数
void cat_data(int *data1, const int *data2, int len2) {
// data1 の現在のデータ数を調べる(0を空きとみなす)
int count1 = 0;
while (count1 < LEN1 && data1[count1] != 0) {
count1++;
}
// data2 を data1 の空きにコピー(LEN1 を超えない範囲で)
for (int i = 0; i < len2 && count1 < LEN1; i++) {
data1[count1] = data2[i];
count1++;
}
}
int main(void) {
// 初期値(例):data1 に3つだけ値を入れて残りは空き
int data1[LEN1] = {1, 2, 3, 0, 0, 0, 0};
int data2[LEN2] = {4, 5, 6, 7, 8};
cat_data(data1, data2, LEN2);
// 結果を出力
for (int i = 0; i < LEN1; i++) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIExFTjEgNwojZGVmaW5lIExFTjIgNQoKLy8gZGF0YTEg44GrIGRhdGEyIOOCkumAo+e1kOOBmeOCi+mWouaVsAp2b2lkIGNhdF9kYXRhKGludCAqZGF0YTEsIGNvbnN0IGludCAqZGF0YTIsIGludCBsZW4yKSB7CiAgICAvLyBkYXRhMSDjga7nj77lnKjjga7jg4fjg7zjgr/mlbDjgpLoqr/jgbnjgovvvIgw44KS56m644GN44Go44G/44Gq44GZ77yJCiAgICBpbnQgY291bnQxID0gMDsKICAgIHdoaWxlIChjb3VudDEgPCBMRU4xICYmIGRhdGExW2NvdW50MV0gIT0gMCkgewogICAgICAgIGNvdW50MSsrOwogICAgfQoKICAgIC8vIGRhdGEyIOOCkiBkYXRhMSDjga7nqbrjgY3jgavjgrPjg5Tjg7zvvIhMRU4xIOOCkui2heOBiOOBquOBhOevhOWbsuOBp++8iQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW4yICYmIGNvdW50MSA8IExFTjE7IGkrKykgewogICAgICAgIGRhdGExW2NvdW50MV0gPSBkYXRhMltpXTsKICAgICAgICBjb3VudDErKzsKICAgIH0KfQoKaW50IG1haW4odm9pZCkgewogICAgLy8g5Yid5pyf5YCk77yI5L6L77yJ77yaZGF0YTEg44GrM+OBpOOBoOOBkeWApOOCkuWFpeOCjOOBpuaui+OCiuOBr+epuuOBjQogICAgaW50IGRhdGExW0xFTjFdID0gezEsIDIsIDMsIDAsIDAsIDAsIDB9OwogICAgaW50IGRhdGEyW0xFTjJdID0gezQsIDUsIDYsIDcsIDh9OwoKICAgIGNhdF9kYXRhKGRhdGExLCBkYXRhMiwgTEVOMik7CgogICAgLy8g57WQ5p6c44KS5Ye65YqbCiAgICBmb3IgKGludCBpID0gMDsgaSA8IExFTjE7IGkrKykgewogICAgICAgIHByaW50ZigiJWQgIiwgZGF0YTFbaV0pOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwoKICAgIHJldHVybiAwOwp9Cg==