Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //PRIMO ESERCIZIO
- int distanza(BTree t, stringa s1, stringa s2){
- if(t==NULL) return 0;
- BTree TS1 = cerca(&t, s1);_________________________BTree TS1 = cerca(t, s1);
- if(TS1){
- if(cerca(&TS1,s2))
- return distanza_ric(TS1,s2);
- } return 0;
- }
- BTree cerca(BTree* t, stringa s){
- if((*t) == NULL) return NULL;_________________________________if(t==NULL)
- if(strcmp((*t)->nome,s)==0) return (*t);_____________________if(strcmp(t->nome, s)==0) return t;
- BTree sx = cerca(&(*t)->sx,s);____________________________cerca(t->sx, s);
- if(sx != NULL) return sx;
- else return cerca(&(*t)->dx,s);__________________cerca(t->dx,s);
- }
- int distanza_ric(BTree t, stringa s){
- if(t==NULL) return -1;
- if(strcmp(t->nome,s)==0) return 0;
- BTree temp = t->sx;
- if(cerca(&temp,s)) return 1+distanza_ric(t->sx,s);
- else 1+distanza_ric(t->dx,s);
- }
- //SECONDO ESERCIZIO
- int conta_nodi(BTree t, int x, char c){
- if(t==NULL) return 0;
- if(conta_occorrenza(t,c) >= x) return 1+conta_nodi(t->sx,x,c)+conta_nodi(t->dx,x,c);
- return conta_nodi(t->sx,x,c)+conta_nodi(t->dx,x,c);
- }
- //ULTIMO ESERCIZIO
- int conta_figli(NTree t, int x, char c){
- if(t==NULL) return 0;
- NTree temp = t->primofiglio;
- int cont = 0;
- while(temp != NULL){
- if(!strchr(temp->nome,c))
- return conta_figli(t->primofiglio,x,c)+conta_figli(t->fratello,x,c);
- cont++;
- temp = temp->fratello;
- }if(cont != x)
- return conta_figli(t->primofiglio,x,c)+conta_figli(t->fratello,x,c);
- return 1+conta_figli(t->primofiglio,x,c)+conta_figli(t->fratello,x,c);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement