View Single Post
Old 09-03-2008, 12:25   #3
faLBI
Junior Member
 
Iscritto dal: Mar 2008
Messaggi: 22
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!!!!
faLBI è offline   Rispondi citando il messaggio o parte di esso