Olá pessoal. Estou construindo um programa pro meu mestrado e resolvi usar alocação dinâmica de matrizes. A versão sem alocação dinâmica funciona direitinho. Após eu colocar a alocação dinâmica, coisas bizarras acontecem no programa, tipo: certas variáveis assume valores inesperados. Segue o código que resume o que eu estou fazendo para a alocação dinâmica.
#include <stdio.h>
#include <stdlib.h>
int DIST = 100;
int main(int argc, char** argv)
{
int DM,i,j,k,ok;
double *dist,temp;
DM=1;
dist = (double *) calloc (DM,sizeof(double));
dist[0] = 0.0;
for(i=0;i<DIST;i++){
for(j=1;j<DIST;j++){
temp = sqrt( i*i + j*j );
ok=0;
for(k=0;k<DM;k++){
if(dist[k]==temp){
ok = (dist[k]==temp);
break;
}
}
if(ok==0){
DM++;
dist = realloc (dist, DM*sizeof(double));
dist[DM-1] = temp;
}
}
}
return 0;
} Tem algo errado no código acima? Desde já agradeço a ajuda. Abraço