funziona abbastanza bene...tranne se i due vettori non hanno le stesse dimensioni...errore mio o algoritmo che funziona proprio così? se è questione di algoritmo si può modificare per avere dimensioni diverse?
codice:
#include <stdio.h>
#define dim 100
int main(){
int a[dim], b[dim], c[dim];
int i, j, n, m, k;
printf("inserire dimensioni vettore1 = ");
scanf("%d", &n);
printf("\ncaricare il vettore in modo non decrescente\n");
for(i=0;i<n;i++){
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
printf("\ncaricare il vettore in modo non decrescente\n");
printf("inserire dimensioni vettore2 = ");
scanf("%d", &m);
for(j=0;j<n;j++){
printf("b[%d] = ", j);
scanf("%d", &b[j]);
}
i=0;j=0;k=0;
while(i<n && j<m){
if(a[i]<b[j]){
c[k]=a[i];i++;
}
else {
c[k]=b[j];j++;
}
k++;
}
while(i<n){
c[k]=a[i];i++;k++;
}
while(j<m){
c[k]=b[j];j++;k++;
}
for(k=0;k<n+m;k++)
printf("a[%d] = %d\n", k,c[k]);
system("pause");
return 0;
}