Ir para conteúdo
Fórum Script Brasil

Jabutti

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Jabutti postou

  1. 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
  2. Era bem isso que eu queria... obrigado Douplus. A única limitação é que o valor máximo da variável tem que ser (2^n -1 , com n =1,2,3,...), mas no meu caso isso não é um problema. Abraço
  3. Na verdade eu to escrevendo um programa pra minha tese de mestrado e eu tenho uma variável que é acrescida ou decrescida aleatoriamente por valores tb aleatórios. Essa variável tem um valor mínimo, 1, e tem um valor máximo, N. Eu queria, sem usar "if", por ex. Vamos supor que o valor atual de V é: V = N - 1; ao fazer a operação: V = V + 3; eu queria obter o resultado: V = 2; OU se o valor de V é: V = 1; ao fazer a operação? V = V - 1; obter: V = N; Não quero usar "if" porque essas operações são realizadas milhares de vezes e o "if" deixa o programa lento.
  4. Olá pessoal. Se eu fizer a declaração unsigned int V; atribuir o valor a variável V V = UINT_MAX; e fazer a operação V = V + 1; o resultado de V será zero. Até aqui tudo beleza. O que eu quero fazer e não sei é possível é: atribuir um valor máximo a variável V diferente de UINT_MAX (por exemplo, 10) e ao fazer a operação: V = 10; V = V+1; ter como resultado V=0. Resumindo, gostaria de modificar o valor de UINT_MAX, ou criar uma variável com seu próprio valor máximo. É possível? Alguém pode me ajudar? Obrigado
×
×
  • Criar Novo...