Una cosa così dovrebbe funzionare:
codice:
lib* max(lib* a, lib* b)
{
if (a->prezzo > b->prezzo)
return a;
else
return b;
}
lib* massimo_a_ricDI(lib v[],int primo,int ultimo)
{
int mediano;
if(primo == ultimo)
return &v[primo];
else
{
mediano=(primo+ultimo)/2;
return max(massimo_a_ricDI(v,primo,mediano), massimo_a_ricDI(v,mediano+1,ultimo));
}
}
Altrimenti, senza puntatori:
codice:
lib max(lib a, lib b)
{
if (a.prezzo > b.prezzo)
return a;
else
return b;
}
lib massimo_a_ricDI(lib v[],int primo,int ultimo)
{
int mediano;
if(primo == ultimo)
return v[primo];
else
{
mediano=(primo+ultimo)/2;
return max(massimo_a_ricDI(v,primo,mediano), massimo_a_ricDI(v,mediano+1,ultimo));
}
}