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

Árvore em C com arquivo texto


Lioo_

Pergunta

Olá pessoal!

Preciso fazer um programa em C que crie uma estrutura de arvore binária de busca, onde, dentro dos nós(além dos ponteiros) devo guardar os atributos nome e cpf, cujo já estão dentro de um arquivo .txt no formato: cpf em uma linha, nome na outra. O campo de comparação é o cpf.

Após isso, preciso fazer a visitação "em ordem" pela arvore, e guardar essas informações ordenadas dentro de outro arquivo .txt , no formato

nome e cpf na mesma linha.

Fiz um programa de uma arvore, guardando e ordenando dados, porém usando somente uma LETRA como a informação. Estou com dificuldade de como inserir esses dois campos(cpf,nome) e ao mesmo tempo usando arquivos .txt, ao invés de guardar dentro do próprio programa.

Segue código:(obs: o formato que são mostrados na forma final é o formato q devo gravar por fim no arquivo texto, porém, no código abaixo, no caso, só são os numeros)

#include <stdio.h>
#include <malloc.h>

	typedef struct {
		char nome ;
		char cpf;
		struct No * esq ;
		struct No * dir ;
		} No ;
		
	

	void insert ( No * * t , char letra ) {
		
		if ( *t == NULL ) {
			*t = ( No * ) malloc ( sizeof ( No ) ) ;
			(*t)->cpf = letra ;
			(*t)->nome = letra ;
			(*t)->esq = NULL ;
			(*t)->dir = NULL ;
		}
		else
			if ( letra > (*t)->cpf )
			insert ( (No **) &(*t)->dir, letra ) ;
			else
				if ( letra < (*t)->cpf )
					insert ( (No **) &(*t)->esq, letra ) ;
			}


	void ordem ( No * t ) {
		if ( t != NULL ) {
			ordem ( (No *) t->esq ) ;
			printf("[%c] \t", t->nome);
			printf("[%c] \t\n", t->cpf);
			ordem ( (No *) t->dir ) ;
		}
	}

	

	int main ( void ) {
		No * goiabeira = NULL ;
		No * onde_estah ;

		insert ( &goiabeira , '1') ;
		insert ( &goiabeira , '0') ;
		insert ( &goiabeira , '2') ;
		insert ( &goiabeira , '3') ;
		insert ( &goiabeira , '5') ;
		insert ( &goiabeira , '2') ;
		insert ( &goiabeira , '7') ;
		insert ( &goiabeira , '3') ;
		insert ( &goiabeira , '1') ;
		insert ( &goiabeira , '6') ;

		ordem ( goiabeira ) ;

		
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...