int fondi_vet(int *v1, int *v2, int *v3, int n1, int n2)
{
int i, j, k=0, temp, cont1=0, cont2=0;
for(i=0, j=0; i<n1 && j<n2; cont1=cont2=0){
for(; v1[i]<v2[j] && i<n1; i++)
v3[k++]=v1[i];
for(; v2[j]<v1[i] && j<n2; j++)
v3[k++]=v2[j];
if(i>=n1 || j>=n2)
break;
temp=v1[i];
for(; v1[i]==temp && i<n1; i++)
cont1++;
for(; v2[j]==temp && j<n2; j++)
cont2++;
cont1=(cont1<cont2)?cont2:cont1;
for(cont2=0; cont2<cont1; cont2++)
v3[k++]=temp;
}
return k;
}