Вам известно, что длина результирующего массива равна n+m. Исходя из этого, самым примитивным образом заполнить результирующий массив можно так:
#include <stdio.h>
int main(void)
{
short int n,m,i,k;
short int mass1[n],mass2[m],massR[n+m];
n=4;m=5;
k=0; // для заполнения результирующего массива вторым.
for(i=0;i<n;i++)
mass1[i]=i;
for(i=0;i<m;i++)
mass2[i]=(i+5)*2;
printf("mass1\n", mass1[i]);
for(i=0;i<n;i++)
printf("%d ", mass1[i]);
printf("\nmass2\n", mass1[i]);
for(i=0;i<m;i++)
printf("%d ", mass2[i]);
printf("\n");
for(i=0;i<n;i++) // заполнение результирующего массива первым
massR[i]=mass1[i];
for(i=n;i<m+n;i++) // и вторым
{
massR[i]=mass2[k];
k++;
}
printf("\nResult: ");
for(i=0;i<n+m;i++)
printf("%d ", massR[i]);
getchar();
return 0;
}
Вывод выглядит так:
mass1
0 1 2 3
mass2
10 12 14 16 18
Result: 0 1 2 3 10 12 14 16 18