Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Arvore Binária + código morse


Dsaraki

Pergunta

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?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...