Grande!
Mi potresti dire anche se per il terzo problema la soluzione potrebbe essere questa?
codice:
#include <stdio.h>
void merge(int *A, int na , int *B, int nb , int *C);
int main()
{
int V[5] = {1,8,12,16,18};
int T[5] = {3,6,9,12,15};
int U[10];
merge(V,5,T,5,U);
return 0;
}
void merge( int A[], int na, int B[], int nb, int C[])
{
int i,j,k;
i=j=k=0;
//Termina quando termina il primo array
while (i<na && j<nb) {
if (A[i]<B[j])
C[k++]=A[i++];
else
C[k++]=B[j++];
}
//Copiatura del rimantente array
while (i<na)
{
C[k++]=A[i++];
}
while (j<nb)
{
C[k++]=B[j++];
}
printf("\n");
for(i = 0; i < 10; i++)
{
printf(" %d ", C[i]);
}
printf("\n");
}
Per tutti gli utenti... Questo problema consisteva nell'implementare una funzione che facesse la fusione ordinata su due array ordinati.