Ir para conteúdo
Fórum Script Brasil

Dsaraki

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Dsaraki

Dsaraki's Achievements

0

Reputação

  1. Pessoal preciso de desenvolver um programa que usa uma arvore binária para decodificar codigo morse, fiz a seguinte função: void ArvDecodifica (Arv *a, char *cod[]) //passo como parâmetro a arvore para decodificar e a string com o codigo da palavra { char palavra[40]; //cria uma string para armazenar a palavra que sera decodificada Arv *p = (Arv*) malloc(sizeof(Arv)); p = a; int i,j; i=j=0; while (c!= '') //enquanto ainda for codigo { while(c!=' ')//enquanto não tiver espaço continua na mesma arvore { if(c == '.' ) p=p->esq; else p=p->dir; i++; }//o while vai parar quando achar o espaço, que indica a mudança de letra, nesse momento o p vai estar em alguma letra da arvore palavra[j]=p->info;//a string vai receber a letra onde o p está j++;//incremento para gravar a proxima letra da palavra p=a;// volta a raiz da árvore para que se possa achar a próxima letra } palavra[j]=''; printf("A palavra é:"); puts(palavra);//imprime a palavra decodificada } Estou usando a seguinte arvore: Arv* h = cria('h', NULL, NULL); /* sub-árvore com 'h' */ Arv* v = cria('v', NULL, NULL); /* sub-árvore com 'v' */ Arv* f = cria('f', NULL, NULL); /* sub-árvore com 'f' */ Arv* l = cria('l', NULL, NULL); /* sub-árvore com 'l' */ Arv* p = cria('p', NULL, NULL); /* sub-árvore com 'p' */ Arv* j = cria('j', NULL, NULL); /* sub-árvore com 'j' */ Arv* b = cria('b', NULL, NULL); /* sub-árvore com 'b' */ Arv* x = cria('x', NULL, NULL); /* sub-árvore com 'x' */ Arv* c = cria('c', NULL, NULL); /* sub-árvore com 'c' */ Arv* y = cria('y', NULL, NULL); /* sub-árvore com 'y' */ Arv* z = cria('z', NULL, NULL); /* sub-árvore com 'z' */ Arv* q = cria('q', NULL, NULL); /* sub-árvore com 'q' */ Arv* s = cria('s', h, v); /* sub-árvore com 's' */ Arv* u = cria('u', f, NULL); /* sub-árvore com 'u' */ Arv* r = cria('r', l, NULL); /* sub-árvore com 'r' */ Arv* w = cria('w', p, j); /* sub-árvore com 'w' */ Arv* d = cria('d', b, x); /* sub-árvore com 'd' */ Arv* k = cria('k', c, y); /* sub-árvore com 'k' */ Arv* g = cria('g', z, q); /* sub-árvore com 'g' */ Arv* o = cria('o', NULL, NULL); /* sub-árvore com 'o' */ Arv* i = cria('i', s, u); /* sub-árvore com 'i' */ Arv* a = cria('a', r, w); /* sub-árvore com 'a' */ Arv* n = cria('n', d, k); /* sub-árvore com 'n' */ Arv* m = cria('m', g, o); /* sub-árvore com 'm' */ Arv* e = cria('e', i, a); /* sub-árvore com 'e' */ Arv* t = cria('t', n, m); /* sub-árvore com 't' */ Arv* raiz= cria(' ', e, t); /* raiz da árvore */ Porem quando eu mando compilar da um erro , o compilador fecha e a função para, alguém pode me ajudar?
×
×
  • Criar Novo...