
Untitled
By: a guest on
May 16th, 2012 | syntax:
C | size: 2.79 KB | hits: 15 | expires: Never
/*
Baixe esse paste em https://sites.google.com/site/corretoressuman/home
La tem sempre a ultima versao
Mas como eu sou um cara legal, aqui esta a segunda versao
*/
/* COLOCAR AS ASSINATURAS DE METODO NO arvoreLetras.h */
void imprimirSumanArvore(PontArvore a);
void imprimirSumanArvoreAux(PontNo subArvore,int letra,int array[], bool t);
/*COLOCAR NO SWITCH DO PROFESSOR NO ARQUIVO usaArvore.c*/
case 'x' : imprimirSumanArvore(&arvore); break;
case 'z' : printf("O metodo do Suman para imprimir:\n\n Imprime os filhos da esquerda pra direita e os irmaos de cima pra baixo\n\nIMPORTANTE: Os registros com fimDePalavra==true ficam com letra MAIUSCULA\n");
/*COLOCAR NO METODO help() DO PROFESSOR NO AQUIVO usaArvore.c*/
printf(" x : usar o metodo SUMAN de impressao de arvores ( z : para ajuda nesse metodo)");
/*COLOCAR EM QUALQUER LUGAR NO ARQUIVO arvoreLetras.c*/
void imprimirSumanArvore(PontArvore a){
int b[a->tamMaiorPalavra];
int i;
for(i=0;i<a->tamMaiorPalavra;i++){
b[i] = 0;
}
printf("Maior Palavra tem %d letras ( ESSA PARTE DO CODIGO TEM QUE ESTAR FUNCIONANDO )\n\n",a->tamMaiorPalavra);
imprimirSumanArvoreAux(a->raiz,0,b,false);
}
void imprimirSumanArvoreAux(PontNo subArvore,int letra,int array[],bool t){
if(!subArvore){
printf("\n");
return;
} else {
printf("%c",transforma(subArvore->letra,subArvore->fimDePalavra));
if(subArvore->filho){
printf("--");
}
if(subArvore->prox){
array[letra] = 1;
} else {
array[letra] = 0;
}
PontNo pont;
if(t==true){
return;
}
pont = subArvore;
while(pont){
imprimirSumanArvoreAux(pont->filho,letra+1,array,false);
if(pont->prox!=NULL){
int i;
for(i=0;i<letra+1;i++){
if(array[i]==1){
printf("%c ",179);
} else {
printf(" ");
}
}
printf("\n");
for(i=0;i<letra;i++){
if(array[i]==1){
printf("%c ",179);
} else {
printf(" ");
}
}
imprimirSumanArvoreAux(pont->prox,letra,array,true);
}
pont = pont -> prox;
}
}
}
/*
:::::::::::::::::::::IMPORTANTE:::::::::::::::::::::
Esse impressor, ao contrario do que eu fiz no EP1,
tem que ser retirado antes de se fazer a entrega no
COL, devido a assinatura do metodo no arvoreLetras.h,
que precisa existir por causa da recursividade usada
*/