void merge(int *A, int *B, int *C, int size);

void main()

{

int i = 0;

int a[5] = { 0 };

int b[5] = { 0 };

int c[10] = { 0 };

srand(time(0));

for (i = 0; i < 5; i++)

{

a[i] = rand() % 20;

b[i] = rand() % 20;

}

merge(a, b, c, 5);

printf("배열 c는 ");

for (i = 0; i < 10; i++)

printf("%d ,", c[i]);

printf("\n");

}


void merge(int *A, int *B, int *C, int size)

{

int temp = 0;

int i = 0;

int j = 0,l;

int *p_a = A;

int *p_b = B;

for (i = 0; i < size - 1; i++){

for (j = i + 1; j < size; j++)

{

if (A[i] > A[j])

{

temp = A[i];

A[i] = A[j];

A[j] = temp;

}

}

}

for (i = 0; i < size - 1; i++){

for (j = i + 1; j < size; j++){

if (B[i] > B[j])

{

temp = B[i];

B[i] = B[j];

B[j] = temp;

}

}

}

printf("a의 배열은 ");

for (i = 0; i < 5; i++)

printf("%d ,", A[i]);

printf("\n");


printf("b의 배열은 ");

for (i = 0; i < 5; i++)

printf("%d ,", B[i]);

printf("\n");

int k = 0;

for (i = 0,j=0; (i<5&&j<5);k++ )

{

if (*(p_a+i) > *(p_b+j))

{

C[k] = *(p_b + j);

j++;

}

else 

{

C[k] = *(p_a + i);

i++;

}

}

if (i > j){

for (i = j; i < 5; i++)

{

C[k] = B[i];

k++;

}


}

else

{

for (j= i; j < 5; j++)

{

C[k] = A[j];

k++;

}

}

}



'공부 > C' 카테고리의 다른 글

LED전광판 만들기  (1) 2016.06.22
(배열 + 이진 검색)이름,성적 입력 후 이름으로 찾기  (0) 2016.06.08
선택정렬  (0) 2016.06.08
10진수 2진수 변환  (0) 2016.06.01
배열 사용 안하고 10진수 > 2진수 변환 C  (0) 2016.06.01

+ Recent posts