In ogni caso, un esempio di codice potrebbe essere
codice:
int vec[] = {3,5,10,7,5};
int occ[18] = {0};
int i, j, size = sizeof(vec)/sizeof(int);
for(i=0; i<size; i++)
{
printf("%d ", vec[i]);
occ[vec[i]]++;
for(j=i+1; j<size; j++)
{
printf("%d ", vec[i]+vec[j]);
occ[vec[i]+vec[j]]++;
}
}
printf("\nOccorrenze\n");
for(i=0; i<18; i++)
if(occ[i])
printf("%d = %d\n", i, occ[i]);
return 0;
che è veloce ma ha un limite ... per valori piccoli va bene perché il vettore occ non è eccessivamente grande, altrimenti devi usare un altro approccio.
Il massimo del vettore occ lo trovi facilmente con un ciclo for ... ma lo lascio a te.