erreur de lecture de tableau incompréhensible
Bonjour,
Mon programme compile bien, pourtant à l'exécution, Borland C++ s'arrête lors de l'appel de la fonction :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| int decod( int freq, int tab_decod[256*256], unsigned char img[256*256])
{
int kx, ky, i, x[256], y[256], indiceint;
float indice;
i=0;
for (ky = 1; ky < freq-1; ky++)
{
for (kx = 1; kx < freq-1; kx++)
{
indice = kx*256/((float)freq) + ky*256*256/((float)freq) + 257*256/(2*((float)freq));
x[i] = (int) (fmod(indice, 256)+ 0.5);
y[i] = (int) (indice / 256 + 0.5);
Trfret(img, x[i], y[i],-1);
indiceint = (int) (indice+0.5);
if (img[indiceint] == 0) // on est sur une case noire
{
tab_decod[i] = 1;
}
else
{
tab_decod[i] = 0;
}
i++;
}
}
return i;
} |
Il me surligne la ligne
Code:
if (img[indiceint] == 0) // on est sur une case noire
(je ne sais pas si ça veut dire qu'il a planté en l'exécutant ou si c'était sur la ligne d'avant) et me dit qu'il y a un acces violation lors de la lecture d'une adresse. Pourriez vous je vous prie m'aider à trouver l'erreur dans mon code?
Merci beaucoup d'avance
Agnès