#include <stdio.h>
void main()
{
const int MAX = 100;
int array1[MAX], array2[MAX], merge[2 * MAX];
unsigned int n1, n2, i1, i2, im;
printf ("Lungh array 1: ");
scanf ("%u", &n1);
printf ("Lungh array 2: ");
scanf ("%u", &n2);
for (i1 = 0; i1 < n1; i1++)
{
printf ("Array1, numero: ");
scanf ("%d", &array1[i1]);
}
for (i2 = 0; i2 < n2; i2++)
{
printf ("Array2, numero: ");
scanf ("%d", &array2[i2]);
}
i1 = 0;
i2 = 0;
for (im = 0; im < n1 + n2; im++)
{
if (i1 < n1 && array1[i1] < array2[i2] ||
i2 >= n2)
{
merge[im] = array1[i1];
i1++;
}
else
{
merge[im] = array2[i2];
i2++;
}
}
for (im = 0; im < n1 + n2; im++)
{
printf ("%d\n", merge[im]);
}
}
Somma di due vettori
L’utente inserisce due array composti da numeri interi e ordinati in senso crescente. Le lunghezze dei due array sono differenti o uguali in base a ciò che sceglie l’utente. L’elaboratore crea un terzo array ordinato, utilizzando i due array inseriti dall’utente.