p
u
b
l
i
c
i
t
é
publicité
  1. #1

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 222
    Points : -12
    Points
    -12

    Par défaut tableau attention indices

    bonjour,
    Dans une boucle sans fin (que je maitrise en sortant par un zéro pour rassurer les lecteurs et censeurs)
    une ligne tableauX[i] ne veux pas admettre une chaine abc!
    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
     
        int i=0,yy=5;int y=0;
        string autrIncr="";
        string tableauX[yy];
        do
            {
            cout<<"<0> ou <E> pour transfert num."<<i<<" ";
            getline(cin, autrIncr);
                if  (autrIncr == "")
                    {
                    rlfQuat="P7BDBIJO.rtf";//n.b.ici cette variable...change à chaque tour,je n'ai rien écrit pour ne pas alourdir
                    cout<<rlfQuat<<endl;
                    string az=rlfQuat;
                    tableauX[y]=az;
                    y++;
                    cout<<i<<"sz :"<<tableauX[y].size()<<"[*"<<tableauX[y]<<endl;
                    }
                if  (autrIncr !="")
                    {i=0;}
            }
        while (i>0);
    cout<<"tableauX[y] est vide!"<<endl;
    Dans toutes les fonctions que j'ai créé avec succès cette écriture existe 1000 fois!!!Quelles donc les conditions j'ai oublié?
    Vous allez trouver évidemment.
    Cordialement.
    p.s.:je vous ai simplifié le code sauf err d'écriture car non vérifié in situ

  2. #2
    Expert Confirmé Sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    3 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 3 261
    Points : 8 430
    Points
    8 430

    Par défaut

    Bonjour l'ami,

    Quels sont exactement tableauX, son [] et i?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 222
    Points : -12
    Points
    -12

    Par défaut

    j'ai refais mon code au lieu d'ajouter des lignes de texte

  4. #4
    Expert Confirmé Sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    3 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 3 261
    Points : 8 430
    Points
    8 430

    Par défaut

    Et c'est censé faire quoi?

    Quelle est ce festival de variable mal nommées (rlfQuat= regular line format Quaternion? az= zorglub array?)

    Le code n'est même pas directement reformulable en phrases

    "répéter ... tant que i est positif.": qu'est i? pourquoi positif plutot que non nul?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    rlfQuat="P7BDBIJO.rtf";
                    cout<<rlfQuat<<endl;
                    string az=rlfQuat;
                    tableauX[y]=az;
    tableauX[y] est un string, pourquoi passer par une string intermédiaire? pour copier une fois de plus?
    rlfQuat est une string ou possède déjà un constructeur et une conversion depuis string.
    Ceci serait mieux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                    rlfQuat="P7BDBIJO.rtf";
                    cout<<rlfQuat<<endl;
                    tableauX[y]=rlfQuat;
    Tu n'as pas testé le résultat de getline(). Normalement, le code devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(getline(istream, mystring)) {
        traiter mystring
    }
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5

    Homme Profil pro
    retraité
    Inscrit en
    septembre 2006
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : septembre 2006
    Messages : 222
    Points : -12
    Points
    -12

    Par défaut

    j'ai trouvé.
    L'incrémentation de la boucle avec i servait d'indice au tableau:erreur!
    La sortie par zéro ne plaisait alors pas.
    J'ai ajouté un compteur y++; affecté maintenant au tableau en plus de i++;
    toujours affecté à la boucle en maintenant tout va bien.
    La string intermédiaire est restée par erreur quand je cherchais à tester rlfQuat pour détecter l'origine du problème(ce n'était pas l'objet de mon post...
    ligne 11 il faut écrire au minimum string r.(ce n'était pas l'objet de mon post..).
    Bien se rappeler que les codes fournis sont des morceaux pas exactement fonctionnels,ce n'était l'objet de mon post... Je ne soumets jamais mon code, car c'est à moi de le faire fonctionner.
    J'ai construit/trouvé/adapté une boucle sans fin qui sort avec un zéro. Elle suffit à mon bonheur pour l'instant. Il faut avancer.
    -----------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Tbl[indice]=string machin;
    fonctionne bien.C'est la mauvaise gestion des indices qui était la cause du plantage.
    -----------------
    Je note la gestion de if(getline.. pour plustard.
    Cordialement.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/03/2008, 16h59
  2. [VB6] Pb tableau 2D : indice en dehor de la plage
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/10/2006, 17h15
  3. Réponses: 4
    Dernier message: 27/09/2006, 18h04
  4. Tri dans un tableau et indices
    Par size_one_1 dans le forum C
    Réponses: 10
    Dernier message: 16/05/2006, 00h17
  5. Tableau et indice
    Par gendalf37 dans le forum JavaScript
    Réponses: 3
    Dernier message: 03/05/2005, 10h23

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