Found the problem, it's in the list creation, I have something that's creating a loop in the list:
Code:
int insere_col_inicial(lista_coelhos *base,int id_colonia){ lista_coelhos *aux,*procura,*seguinte;
int tamanho;
int x;
int y;
x = rand()*1.0*MAX_X/RAND_MAX;
y = rand()*1.0*MAX_X/RAND_MAX;
tamanho = ceil(abs((x -y)%30))+1;/*To avoid size zero of the colonies*/
aux=(lista_coelhos*)calloc(1,sizeof(lista_coelhos));
if(aux==NULL)
{
return -1;
}
aux->id_colonia=id_colonia;
aux->x=x;
aux->y=y;
aux->tamanho=tamanho;
procura=base;
seguinte=base->prox;
while(seguinte != NULL && tamanho>seguinte->tamanho)
{
procura=procura->prox;
seguinte=seguinte->prox;
}
aux->prox=seguinte;
procura->prox=aux;
return 0;
}
here's where I call the function:
Code:
for(i=1;i<=100;i++) /*To insert inicial colonies*/
{
nova_id=id_colonia+1;
insere_col_inicial(base,nova_id);
id_colonia=nova_id;
}