#include<stdio.h>
void main(){
int a[5]={6,7,9,15,21}; //두개의 정렬된 배열이 있음.
int b[5]={1,2,3,4,5};
int c[10]; // 합병할 배열
int i,j,k,temp;
for(k=0, i=0, j=0; k<10; k++){
if(i<5 && j<5){ //a또는 b에 배열의 원소가 남아있지 않을경우는 실행하지 않음
if(a[i] <= b[j]){ //두 배열은 정렬된 상태이므로 두수의 앞에 값들부터 비교
c[k] = a[i++]; // a배열이 작을경우 c[k]에 값을 넣음
}else{
c[k] = b[j++]; // b가 작을 경우 c[k]에 값을 넣음
}
} else if(i<5){ //a배열의 원소가 남아있을경우
c[k] = a[i++]; //c[k]에 남아있는 a배열을 채움
} else { //a배열의 원소가 5를 초과했을경우(b배열의 원소가 남아있음)
c[k] = b[j++]; //c[k]에 남아있는 b배열의 원소를 채움
}
}
for(k=0;k<10;k++)
{
printf("%d ", c[k]); //출력
}
}
배열 []<--- 여기 안에 숫자는 무조건 상수여야 한다던데
근데 교수가 준 과제는
a={a1,a2,a3....}
b={b1,b2,b3...}
c={a1,a2,b1,a3,b2,a4...} 합병 오름차순
개수가 미지수인데 이걸 어떻게 표현함??
아 진짜 한번만 도와주라 ㅜㅜㅜㅜㅜㅜㅜ
그냥 너가 임의대로 100정도로 하면되
아글쿤
근데 저거 슈도코드로 표현가능하세여?