IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

erreur de lecture de tableau incompréhensible


Sujet :

C++

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2005
    Messages : 98
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
     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

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Commence par vérifier que indiceint n'est pas supérieur à 256 * 256.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2005
    Messages : 98
    Par défaut
    J'ai trouvé mon erreur: apparemment c'était le fait que j'avais oublié de transtyper en int img([indiceint]) qui le faisait planter. Ce qui m'étonne quand même, c'est que ça faisait plusieurs tests que cette erreur y était, et auparavant ça ne lui avait posé aucun problème.

    Désolée de répondre aussi tard, mais j'avais ma soutenance à midi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de lecture d'un tableau multidimensionnel
    Par Valenten dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 10/06/2009, 22h20
  2. C++ et lecture de tableau
    Par ero-sennin dans le forum C++
    Réponses: 17
    Dernier message: 31/10/2005, 23h42
  3. Réponses: 18
    Dernier message: 19/10/2005, 14h07
  4. Erreur de lecture sur BD Access avec delphi
    Par e120650 dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/06/2005, 10h17
  5. Erreur de lecture du flux sous SQLServer
    Par smazaudi dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/03/2005, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo