programa em c

463 palavras 2 páginas
#include
#include
#include

/*
Programa para manipulação de um arquivo (Modo TEXTO), contendo dados de um dicionário de palavras e criando uma arvore binária para a manipulação de palavras e significados correspondentes.

O arquivo deve estar no formato a seguir: (no programa usamos dic.txt)
----------------------
gato#sm#bicho do mato# cao#sm#bicho domestico# leao#sm#bicho da selva# canguru#sm#bicho que pula# foca#sf#bicho da agua#%
------------------------

*/

typedef struct vocabulo{ char palavra[40]; char cg[10]; char def[100];
}VOCAB;

typedef struct nodo{ VOCAB e; struct nodo *esq; struct nodo *dir;
} NO; typedef NO *ARV;

// Função para criar uma nova arvore
ARV nova_arv()
{
return NULL;
}

int EMPTY (ARV a)
{ return (a == NULL);}

// Função para inserir um novo elemento 'b' na arvore 'a'
ARV insere (ARV a, VOCAB b)
{ ARV nova; if (EMPTY(a)) { nova = (ARV) malloc (sizeof(NO)); nova->esq = NULL; nova->dir = NULL; nova->e = b; return nova; } else { if ( strcmp(a->e.palavra,b.palavra) < 0 ) a->dir = insere(a->dir, b); else a->esq = insere(a->esq, b); /* Repeticoes sao inseridas na esquerda! */ return a; }
}

// Função para procurar um elemento numa arvore
ARV procura (ARV a , char *b)
{
VOCAB c; if (EMPTY(a)) return NULL; else if ( strcmp(a->e.palavra,b) == 0 ) return a; else if ( strcmp(a->e.palavra,b) < 0 ) return procura (a->dir, b); else return procura (a->esq, b);
}

//Função para percorrer a arvore binária com critério pre-ordem void preorder (ARV a)
{
if (! EMPTY(a) ) { printf("%s ",a->e.palavra); preorder(a->esq); preorder(a->dir); }
}

//Função para percorrer a arvore binária com critério em-ordem

Relacionados

  • programa em c
    14727 palavras | 59 páginas
  • programa de c++
    9834 palavras | 40 páginas
  • Programa em c++
    417 palavras | 2 páginas
  • programas em c
    608 palavras | 3 páginas
  • programa em c++
    354 palavras | 2 páginas
  • Programa C++
    690 palavras | 3 páginas
  • programa c++
    804 palavras | 4 páginas
  • Programa em C
    275 palavras | 2 páginas
  • programa c
    262 palavras | 2 páginas
  • PROGRAMA EM C
    363 palavras | 2 páginas