Così a me funziona
codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct{
char titolo[50];
char autore[25];
int prezzo;
int stato;
int codice;
}lib;
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));
}
}
int main()
{
int i;
const int n = 99;
lib vett[n];
srand(time(NULL));
for(i = 0; i < n; i++)
{
vett[i].prezzo = rand();
printf("%d\t", vett[i].prezzo);
}
printf("\n-----------------\n");
printf("%d", massimo_a_ricDI(vett, 0, n-1).prezzo);
}