Non riesco a capire dove sta l'errore.
questa è la funzione :
Ricerca il parlamentare di un dato partito che ha ricevuto il maggior numero di voti.
E’ RICHIESTA UNA IMPLEMENTAZIONE RICORSIVA SULLA BASE DEL DIVIDE ET IMPERA.




codice:
TNode* parlamentare_votato(TTree tree, char partito[]){
   TTree sx, dx,curr;
   
   if(tree == NULL)
      return NULL;
   
   if((tree != NULL) && (strcmp(tree->info.satellite.partito, partito)==0) )
      curr = tree;
   else{
     
      sx = parlamentare_votato(tree->left, partito);
      dx = parlamentare_votato(tree->right, partito);
      if((curr->info.satellite.voti >= sx->info.satellite.voti) &&  (sx->info.satellite.voti >= dx->info.satellite.voti))
      return curr;
   else if((sx->info.satellite.voti >= curr->info.satellite.voti) && (curr->info.satellite.voti >= dx->info.satellite.voti))
         return sx;
   else if((dx->info.satellite.voti >= curr->info.satellite.voti) && (curr->info.satellite.voti >= sx->info.satellite.voti))
      return dx;
      else
         return NULL;
   }
}