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 :

Affichage inversé d'un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut Affichage inversé d'un tableau
    Bonjour, j'aimerais afficher mon tableau a double entrée dans un autre sens.

    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
    void test::affiche_tab(std::ostream& os) const{
        int c;
        int l=7;
        tab[0][0]=' ';
        for(int n=0; n<taille; ++n)
        {
            l--;
            for(int j=0; j<taille; ++j)
            {
                if((c==6)||(c==12)||(c==18)||(c==24)||(c==30)||(c==36))
                {
                    std::cout << "|" << "\n" << "   +---+---+---+---+---+---+";
                    std::cout << "\n " << l << " ";
                }
                std::cout << "| " << tab[n][j] <<" ";
                c++;
            }
        }
        std::cout << "|" << "\n" << "   +---+---+---+---+---+---+" << "\n" << "     a   b   c   d   e   f" << std::endl;
        std::cout << "    score courant: " << score_ << " points" << std::endl;
    }
    Avec ce code il s'affiche comme ca:
    --------------
     s[0][0] | s[0][1] s[0][2] s[0][3] s[0][4]  s[0][5]
     s[1][0]
     s[2][0]
     s[3][0]
     s[4][0]
     s[5][0].................................................s[5][5]
    sauf que je voudrais qu'il s'affiche comme ca
     s[5][0] | s[5][1] s[5][2] s[5][3] s[5][4]  s[5][5]
     s[4][0]
     s[3][0]
     s[2][0]
     s[1][0]
     s[0][0].................................................s[0][5]
    J'ai essayais avec un for(n=taille; n>0; n--)
    Sauf que cela ne passe pas à la compilation.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Emma25 Voir le message
    J'ai essayais avec un for(n=taille; n>0; n--)
    Sauf que cela ne passe pas à la compilation.
    Quelle est l'erreur de compilation ? Parce que c'est exactement ce qu'il faudrait faire.. en faisant attention à ne pas utiliser un index en dehors des bornes.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Je trouve toujours l'idiome for (i = count; i --> 0; ) bienvenu lorsqu'il s'agit d'itérer en sens inverse, sans recourir à l'arithmétique signée ni aux ajustements d'adressage bancals.

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    Citation Envoyé par Matt_Houston Voir le message
    Je trouve toujours l'idiome for (i = count; i --> 0; ) bienvenu lorsqu'il s'agit d'itérer en sens inverse, sans recourir à l'arithmétique signée ni aux ajustements d'adressage bancals.
    Merci beaucoup !! Je viens d'essayer for (i = count; i --> 0; ) et ça compile.

  5. #5
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    J'espère bien. Ce qui est plus inquiétant c'est que tu ne sembles pas avoir bien compris la nature de l'erreur initiale (cf. piste de Bousk à explorer) ni ce que fait le code actuel. C'est bien que le programme fonctionne (fonctionne-t-il vraiment ?), c'est mieux de savoir pourquoi !

  6. #6
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    C'est vrai que c'est mieux de savoir pourquoi et comment il fonctionne mais sans message d'erreur je vois pas vraiment comment je pourrais comprendre pourquoi il accepte : for (i = 6; i --> 0; ) alors qu'il accepte pas for (i = 6; i >0; i-- ) .

  7. #7
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 8
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Quelle est l'erreur de compilation ? Parce que c'est exactement ce qu'il faudrait faire.. en faisant attention à ne pas utiliser un index en dehors des bornes.
    Ce qui est étrange c'est que le compilateur ne met aucun message d'erreur et ne souligne aucune ligne en rouge comme il fait d'habitude.
    Il écrit juste ca " RUN FAILED (exit value -1 073 741 819, total time: 3 s)" dans la console quand je compile. Et j'ai compris que ca venais du for inversé car quand je l'enlève il compile normalement.

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

Discussions similaires

  1. [Debutant] Besoin d'aide pour modifier un tableau...
    Par CyberTwister dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/03/2006, 14h14
  2. Réponses: 3
    Dernier message: 05/12/2005, 02h30
  3. besoin d'aide sur tableau dynamique
    Par littlesquall dans le forum C
    Réponses: 16
    Dernier message: 02/11/2005, 02h50
  4. [C#] Besoin d'aide sur l'affichage d'une combobox
    Par dcd3 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/10/2005, 00h43
  5. Besoin d'aide lié à un fichier xml et un tableau a charger..
    Par jjs dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/07/2005, 14h03

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