Ma diciamo che è un obrobrio... il punto è che è proprio sbagliato il modo di affrontare il problema, non riesco a capire come percorrere tutto l'albero....codice:punt funzione(punt t){ int n,i; for (n=0; array[n]!='\n'; n++){ }; if ((t->left->left==NULL)&&(t->left->right==NULL)){ for (i=0; i<n; i++){ t->left->array[i]=t->array[i]; } i++; t->left->array[i]=1; printf("\n%c: ", t->left->carattere); for(n=0; n<=i; n++){ printf("%d", t->left->array[n]); }; return t; } if((t->right->left==NULL)&&(t->right->right==NULL)){ printf("\n%c: ", t->right->carattere); for (i=0; i<n; i++){ t->right->array[i]=t->array[i]; } i++; t->right->array[i]=0; for(n=0; n<=i; n++){ printf("%d", t->right->array[n]); }; return t; } else{ t->left->array[i]=1; t->right->array[i]=0; t=funzione(t->left); if (t->left->left==NULL) return funzione(t->right); else return funzione(t->left); } }

Rispondi quotando