#include <stdio.h> #include "vettori.h" int vett1[10], vett2[10], vett3[20]; int n1 = 0, n2 = 0; void merge() { int i; for (i=0; i<20; i++) { // controllo che i 2 vettori non siano esauriti if (n1<10 && n2<10) { // copio in vett3 il minore fra vett1 e vett2 if (vett1[n1] < vett2[n2]) { vett3[i] = vett1[n1]; n1++; } else { vett3[i] = vett2[n2]; n2++; } // se uno dei 2 vettori è esaurito, copio gli elementi rimanenti dell'altro vettore } else { // copio vett1 in vett3 if (n1<10) { vett3[i] = vett1[n1]; n1++; } // copio vett2 in vett3 if (n2<10) { vett3[i] = vett2[n2]; n2++; } } } } int main() { printf("Inserisci i dati ordinati di vett1 e vett2\n"); LeggeVettoreInt(vett1, 10); LeggeVettoreInt(vett2, 10); printf("vett1 = "); StampaVettoreInt(vett1, 10); printf("vett2 = "); StampaVettoreInt(vett2, 10); merge(); printf("vett3 = "); StampaVettoreInt(vett3, 20); return 0; }