Eccola col DIVIDE ET IMPERA:
codice:
#include <stdio.h>

int sommaDispari(int v[], int min, int sup) {
   int somma = 0;
   if ((sup - min) == 1) {
      somma = (v[min] % 2) ? v[min] : 0;
   } else {
      somma = sommaDispari(v, min, min + ((sup-min) / 2)) + sommaDispari(v, min + ((sup-min) / 2), sup);
   }
   return somma;
}

int main() {
   int numeri[10] = {1,2,3,4,5,6,7,8,9,10};
   printf("Somma: %d", sommaDispari(numeri, 0, 10));
   return 0;
}
Ciao.