#include <stdio.h>
#include <memory.h>
#define N 5
#define M 8
int main(int argc, char* argv[])
{
int A[N] = { 2, 3, 4, 5, 6 };
int B[M] = { 1, 3, 4, 5, 6, 7, 8, 9 };
printf("A = ");
for (int i1 = 0; i1 < N; i1++)
printf("%d ", A[i1]);
printf("\nB = ");
for (int j1 = 0; j1 < M; j1++)
printf("%d ", B[j1]);
printf("\n");
int C[N + M] = { 0 };
int size_n = sizeof(int) * N;
int size_m = sizeof(int) * M;
memcpy((void*)C, (void*)(size_n <= size_m) ? B : A,
(size_n <= size_m) ? size_m : size_n);
int n = (size_n <= size_m) ? M : N;
for (int i = 0; i < ((size_n <= size_m) ? N : M); i++)
{
int nkey = (size_n <= size_m) ? A[i] : B[i];
for (int j = n-1; C[j] > nkey; j--)
{
C[j + 1] = C[j];
C[j] = nkey;
}
n++;
}
printf("\nC = ");
for (int k1 = 0; k1 < N+M; k1++)
printf("%d ", C[k1]);
printf("\n");
return 0;
}