#include <stdio.h> // 헤더파일
#include <stdlib.h> // 헤더파일
int main() {
int len;
int cmd;
int *arr;
int *modify;
char insert;
int start, num;
int res[10];
for (int j = 0; j<10; j++) // 테케 10개
{
scanf("%d\n", &len); // 길이 받음
arr = (int *)malloc(sizeof(int)*len); // 동적 할당으로 받음
for (int k = 0; k<len; k++) //
{
scanf("%d ", &arr[k]); // 원본 암호문 입력 받음
}
scanf("%d\n", &cmd); // 명령어 갯수 입력 받음
for (int k = 0; k<cmd; k++)
{
scanf("%c %d %d", &insert, &start, &num); // 명령어 입력 받음
modify = (int *)malloc(sizeof(int)*num); // 모디파이 또한 동적으로 할당 받음.
for (int i = 0; i<num; i++)
{
scanf("%d ", &modify[i]);
}
int i;
//for 조건문 확인 밀고 밀고 밀고. 10이라는 숫자 이내만 처리하면 되므로,
// 길이안애도 들고, 10보다 안에 있으면 오케이. arr 의 값을 res 에 넣어둡니다.
for (i = start; i + num<len&&i + num<10; i++)
{
res[i + num] = arr[i];
}
// res 에 수정된 값을 넣어 둡니다.
for (i = 0; i<num&& i + start<10; i++)
{
res[i + start] = modify[i];
}
// res 에 arr 값을 대입 ?
for (i = 0; i<start&&i<10; i++)
{
res[i] = arr[i];
}
// arr 에 res 의 결과를 대입 for 조건식 확인
for (int i = 0; i<10; i++)
{
arr[i] = res[i];
}
}
printf("#%d ", j + 1); // 테케 번호 출력
for (int i = 0; i<10; i++) // 결과 출력
{
printf("%d ", arr[i]);
}
printf("\n");
}
return 0;
}
댓글