


/**
* Per chiarirsi le idee:
* Questa funzione cerca da "root" in giù, e ritorna il Tnode* che
* ha punteggio massimo (ma solo da root in giù appunto).
* In questo modo, chiamandola con la radice dell'albero alla fine
* avro' il Tnode* con il punteggio massimo.
*/
Tnode* ricerca_max_punteggio(Tnode* root) {
/* Alloca due posticini per i valori che dovremo confrontare.
* Inizializzarli al valore minimo per un intero e' una cosa
* apprezzabile, ma non ricordo come si chiama la costante...
*/
int valore1 = 0, valore2 = 0;
/* Altri due spazietti per i pointer */
Tnode* tmp1, tmp2;
/* Questa e' un sanity check che ho messo praticamente solo
* per farti notare che se avessi messo un else poi avrei
* dovuto indentare tutto il resto :P
*/
if(root == NULL) {
return NULL;
}
/* Questa e' la parte che prosegue la ricerca solo se non sono
* arrivato al fondo. Incidentalmente comprende anche il
* controllo se mi devo fermare.
*/
if(root->left != NULL) {
tmp1 = ricerca_max_punteggio(root->left);
valore1 = tmp1->contest.vincitore.punteggio;
}
if(root->right != NULL) {
tmp2 = ricerca_max_punteggio(root->right);
valore2 = tmp2->contest.vincitore.punteggio;
}
/* E qui smanazzo i dati che ho trovato: */
if(valore1 >= valore2) {
return tmp1;
} else {
return tmp2;
}
}



Marco Aquila ha scritto::o Ragazzi non ho la più pallida di quali informazioni vi stiate scambiando ma ho paura

Marco Aquila ha scritto::o Ragazzi non ho la più pallida di quali informazioni vi stiate scambiando ma ho paura





mickytaylor ha scritto:scusate l'OT ma cn il c è possibile creare un numero random come in java???




Mattiadrummer ha scritto:Marco Aquila ha scritto::o Ragazzi non ho la più pallida di quali informazioni vi stiate scambiando ma ho paura
...mi sento una capra...

int NumeroCasuale() //Genera un numero casuale da 1 a 10
{
int a;
srand((unsigned)time(NULL));
return a=rand()%9+1;
}


rand() genera il numero casuale compreso tra 0 e RAND_MAX,costante che puoi definire all'inizio se non vado errando



Visitano il forum: Nessuno e 4 ospiti