Jump to content
Fórum Script Brasil
  • 0

Ajuda Arvore Binária + código morse


Dsaraki

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...