C/C++

Помогите пожалуйста решить программу на языке СИ!!!

Составьте программу формирования массива A (N) из двух массивов B (M) и C (K ), таким образом, чтобы элементы массива A (N) распологались по возрастанию.
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define n 5
#define m 7
#define k n + m
void swap(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
void bubble_sort(int* box, int len) {
int first = box[0];
int last = box[len - 1];
while (first < --last) {
for (int begin = first; begin < last; ++begin) {
if (box[begin + 1] < box[begin]) {
swap(&box[begin], &box[begin + 1]);
}
}
}
}
void fill(int* box, int len) {
int i;
for (i = 0; i < len; ++i) box[i] = 10 + rand() % 90;
}
void show(int* box, int len) {
int i;
for (i = 0; i < len; ++i) printf("%i ", box[i]);
puts("");
}
int compare(const void* a, const void* b) {
if (*((int*)a) < *((int*)b)) return -1;
if (*((int*)a) > *((int*)b)) return 1;
return 0;
}
void merge(int* c, int lc, int* a, int la, int* b, int lb) {
int i = 0, j = 0;
while (i != la) {
c[i] = a[i];
++i;
}
while (i != lc) {
c[i] = b[j];
++i;
++j;
}
qsort(c, lc, sizeof(c[0]), compare);
}
int main(void) {
int a[n];
int b[m];
int c[k];
srand((unsigned)time(NULL));
fill(a, n);
show(a, n);
fill(b, m);
show(b, m);
merge(c, k, a, n, b, m);
show(c, k);
system("pause > nul");
return 0;
}
Анатолий Степаненко
Анатолий Степаненко
73 269
Лучший ответ
#include "stdio.h"
int main(){
int i,j,t,m,k,n;
printf("Length B: "); scanf("%d",&m); int b[m];
printf("B: "); for(i=0;i< m;i++)scanf("%d",&b[i]);
printf("Length C: "); scanf("%d",&k); int c[k];
printf("C: "); for(i=0;i< k;i++)scanf("%d",&c[i]);
n=m+k; int a[n]; for(i=0;i< m;i++)a[i]=b[i]; for(;i< n;i++)a[i]=c[i-m];
for(i=n;i>0;i--)for(j=1;j< i;j++)if(a[j]< a[j-1])t=a[j],a[j]=a[j-1],a[j-1]=t;
for(i=0;i< n;i++)printf("%d ",a[i]); printf("\n"); return 0;}