Lo so.. il mio problema è proprio che non sono riuscito a scrivere una funzione ricorsiva che funzioni...
Vi posto quello che ho fatto fin'ora, ma è una vera schifezza....
Codice:
punt riempi_array(punt t){
int n,i;
for (n=0; t->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[n+1]=1;
t->right->array[n+1]=0;
t=riempi_array(t->left);
if (t->left->left==NULL)
return riempi_array(t->right);
else
return riempi_array(t->left);
}
}
Dovrei riuscire a farla entro stasera... AIUTOOOOOOOOO!!!!