Segmentation fault(core dumped ) avec gmp

Résolu/Fermé
bachelardphilo - Modifié le 19 janv. 2021 à 20:08
 bachelardphilo - 19 janv. 2021 à 20:26
Bonjour,

J'obtiens une erreur de segmentation lorsque je lis mon tableau, pourtant je n'accède pas à une zone mémoire protégé.

mon programme :

unsigned int i,j,result;
double **l = malloc(8000*sizeof(double*));

int IN(unsigned int R[])
{
  unsigned int i;
  for(i = 0; i < 53; i++)
  {
    if(R[i] == 0){return 0;}
  }
  return 1;
}

unsigned int CRIBLE(unsigned int R[], mpz_t p,double **l)
{
  unsigned int x,i;
  unsigned int k = 0;
  mpz_t garbage;
  mpz_init(garbage);

  for(i = 0; i < 53 ; i++)
  {
    R[i] = (unsigned int)mpz_mod_ui(garbage,p,S[i]);
    l[k][i] = (double)(a*hamming(R[i]) + b);
  }
  mpz_clear(garbage);
  while(IN(R) == 0)
  {
    mpz_add_ui(p,p,2);
    k++;
    for(i = 0; i < 53; i++)
    {
      R[i] = (R[i] + T)%S[i];

      l[k][i] = (double)(a*hamming(R[i]) + b);
    }
  }
  return k + 1;
}

  result = CRIBLE(R,p,l);

  for(i = 0; i < result; i++)
  {
    for(j = 0; j < 53 ; j++)
    {
      printf("%f\n",l[i][j]);
    }
    printf("\n\n");
  }//le problème survient après la lecture du tableau


Configuration: Linux / Firefox 84.0

1 réponse

bachelardphilo
19 janv. 2021 à 20:26
dsl je viens de remarquer que l'erreur de n'était pas là
0