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; }

Rispondi quotando
per l'output, cosi mi piaceva di piu!
