Jump to content

Trabalho sobre trie


diogofd8
 Share

Recommended Posts

Boas!

Tenho um exercício onde devo desenvolver várias funções para criar um motor de pesquisa baseado em trie. Para além de não perceber muito bem como está tudo organizado, algumas funções como as que tenho que desenvolver para "util.c" estão a dar-me erros que nem com a ajuda do gdb consegui perceber.

Alguém tem paciência suficiente para ler um pdf de 2 páginas com informações sobre o trabalho e depois ainda ter a maçada de ler os ficheiros .c localizados em trabalho3/src nos quais fui trabalhando e me dar uma ideia do que estou e não estou a fazer bem?

le_palavra

le_linha

adiciona_palavra

adiciona_ocorrencias

index_documentos

pesquisa

mínimo

máximo

Andei já a planear e a escrever algum código, no entanto nos testes que faço, os outputs não andam a sair como devem.

Foram estas as funções que tentei fazer e não fiquei satisfeito com o resultado.

"Welp!"

https://drive.google.com/folderview?id=0BxkX7kAPTPBOfmFsMVh5djV3NVc5cHlZQVhVU2E0cHR6dzJHT3E3WFdXc0VPN29LMnUtVFE&usp=sharing

Está tudo aqui no drive.

Desde já agradeço toda e qualquer ajuda fornecida 🙂

Edited by diogofd8
Link to comment
Share on other sites

Aparecem segmentation fault e outras coisas do género.

Um erro que tenho vindo a constatar no le_palavra é que leio chars de um ficheiro de texto até \n (inclusive) para uma variavel.

Depois dessa variável adiciono para um vetor sempre na posição seguinte.

Acontece que quando meto o \n lá, apesar de ter a memória alocada apenas para os caracteres que lá estão, aparece-me algo do género "abc\nQ\r\002"

Estou em máquina virtual, é dificil por prints e esse tipo de coisas, daí a achar que correr tudo no terminal torna mais fácil para detetar os meus erros.

Link to comment
Share on other sites

A cena é que eu também não sei. O programa do main.c não fui eu que fiz, eu só tenho que fazer as funções. Se uma não funcionar e der seg fault eu não sei qual é.

Com o gdb chego até à leitura (le_palavra e le_linha) e dá uns erros que já descrevi no post acima. Não tenho a minima forma de saber se as outras funções funcionariam bem porque para as testar bem teria que ter estas a dar bem ja as outras usam estas.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.