Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Matheus Weber

Problema em Leitura de Arquivo

Recommended Posts

Boa tarde, eu fiz toda minha Tabela Hash aqui, e para testar a mesma eu leio as chaves de um arquivo, só que sempre quando chega na ultima linha ele dar Segmetantion Fault, alguém sabe por que?




while(!feof(fp) && i <2500000){


Chave novo;
fgets(aux,150, fp);
//grava a linha na aux
aux1 = strtok(aux, " ");
aux2 = atoi(strtok(NULL, " "));
//separa a aux em string e numero
novo.numero = aux2;
novo.string = (char*) malloc (150*sizeof(char));
novo.prox = NULL;
if(novo.numero==0) break;
strcpy(novo.string,aux1);

//grava numa variavel Chave

float fatorCarga = (float) numeroElementos/posicoes;
//atualiza fator de carga.

insere(novo, vet1);
//insere.


if(fatorCarga>CARGAMAXIMA){
//rehash
numeroElementos = 0;

vet1 = rehash(vet1);
//rehash

//para_cronometro("Tempo: ", i);
//fprintf(fp1,"REHASH para %d\n", posicoes);
//utilizado no relatorio

}
//if(i%20000==0){

//v = para_cronometro("Tempo: ", i);
//printf("%d, Tempo: %.9f s\n", i,v);
//fprintf(fp1, "%d;%.9f\n", i, v);
//inicia_cronometro();

//}//utilizado no relatorio


i++;


}



Eu tive que colocar o i<2500000 para não dar o segmetantion.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou depurar o programa para ver os valores das variáveis envolvidas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

O código está incompleto. Pra conseguir ajuda, eu recomendo construir um programa compilável e reduzido que exiba os mesmos sintomas que o original, e que expresse a tarefa em questão a ser corrigida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.