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 :

triangle de Pascal


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2009
    Messages : 44
    Points : 50
    Points
    50
    Par défaut triangle de Pascal
    Bonsoir à tous chers developpeurs,

    voilà je me remets gentillement à la programmation, et je fais mes premiers pas en C++. En voulant reprendre un ancien exercice sur le triangle de Pascal, je me trouve confronter à un problème lors de mon affichage, le triangle ne s'affiche pas correctement,...

    J'ai créé mon petit programme avec une fonction récursive et une fonction qui permet d'afficher justement mes valeurs prises lors de l'appel de mon fct récursive. je n'arrive pas à déterminé où se trouve pas mon soucis, est-ce que c'est ma fonction récursive, ou si c'est dans ma fonction d'affichage.

    J'ai regardé des exemples de codes, et il me semble que je suis pas trop loin du bon résultat, mais je ne vois pas ou ca coince, alors si vous pouvez me filer un coup de main, ce serait cool...

    je vous mets le code ci-dessous :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    // Nom du fichier   :  Exos2.cpp
    //
    // Description      : Réaliser en fct récursive pour afficher le traingle de Pacal
    //                    fct récursive Cij = Ci-1j-1 + Ci-1,j
    //
    // Auteur           : Philippe Bovey
    //
    // Date                     : 26.09.2010
    //
    // Dernière Modofication    : 30.10.2010
    //
    // Version Finie ? (O/N) : N
    /******************************************************************************/
    #include <iostream>
    #include <iomanip>
    #include <cstdlib>
    //------------------------------------------------------------------------------
    using namespace std;
    //------------------------------------------------------------------------------
    int coeffBinomial(int i, int j)
    {
        if(j == 0 || j == i)
            return 1;
        else
            return coeffBinomial(i - 1, j - 1) + coeffBinomial(1 - 1, j);
    }
    //------------------------------------------------------------------------------
    void afficherTrianglePascal(int n)
    {
        int val_l = n;
        int val_aff;
     
        // affiche la ligne indique le nombre de colonne
        cout << setw(6);
        for(int i = 0; i < n ; ++i)
            cout << i << setw(3);
     
        cout << endl;
     
        // affiche la ligne séparatrice
        cout << "    ";
        for(int i = 0; i < n ; ++i)
            cout << "---";
     
        cout << endl;
     
        // doit afficher ligne après ligne
        for(int x = 0; x < n; ++x)
        {
            // affiche le premier de chiffre de chaque colonne
            cout << setw(2) << x << " |";
            for(int y = 0; y <= x; ++y)
                cout << " " << coeffBinomial(x, y) << setw(3);
            cout << endl;
        }
    }
    //------------------------------------------------------------------------------
    int main()
    {
      int nLignes = 0;
     
      cout << "Triangle de Pascal" << endl;
      cout << "==================" << endl;
      cout << "Saisir le nombre de lignes souhait\202 (entre 1 et 15 inclus) : ";
      cin  >> nLignes;
      cout << endl;
     
      afficherTrianglePascal(nLignes);
     
      cout << endl;
      system("pause");
      return EXIT_SUCCESS;
    }
    /************************************************************ FIN DU FICHIER **/
    Merci pour toutes vos futures réponses
    Amicalement Philou

  2. #2
    Membre habitué Avatar de nowahn
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 84
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Juste une étourderie.

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int coeffBinomial(int i, int j)
    {
        // ...
            return coeffBinomial(i - 1, j - 1) + coeffBinomial(1 - 1, j);
    }
    En remplaçant le « 1 » par un « i », ça marche chez moi.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2008
    Messages : 26
    Points : 27
    Points
    27
    Par défaut
    Bonjour,
    j'ai essayer de corriger le prog,
    je suis novice en c++,regarde si c'est bon pour toi,
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    // Nom du fichier   :  Exos2.cpp
    //
    // Description      : Réaliser en fct récursive pour afficher le traingle de Pacal
    //                    fct récursive Cij = Ci-1j-1 + Ci-1,j
    //
    // Auteur           : Philippe Bovey
    //
    // Date                     : 26.09.2010
    //
    // Dernière Modofication    : 30.10.2010
    //
    // Version Finie ? (O/N) : N
    /******************************************************************************/
    #include <iostream>
    #include <iomanip>
    #include <cstdlib>
    //------------------------------------------------------------------------------
    using namespace std;
    //------------------------------------------------------------------------------
    int coeffBinomial(int i, int j)
    {
        if(j == 0 || j == i)
            return 1;
        else
            return coeffBinomial(i - 1, j - 1) + coeffBinomial(1 - 1, j);
    }
    //------------------------------------------------------------------------------
    void afficherTrianglePascal(int n)
    { 
        int val_l = n;
        int val_aff;
     
        // affiche la ligne indique le nombre de colonne
        cout << setw(6);
        for(int i = 0; i < n+1 ; ++i)
            cout << i << setw(3);
     
        cout << endl;
     
        // affiche la ligne séparatrice
        cout << "    ";
        for(int i = 0; i < n ; ++i)
            cout << "---";
     
        cout << endl;
        
        // doit afficher ligne après ligne
        for(int x = 0; x < n+1; ++x)
        {
            // affiche le premier de chiffre de chaque colonne
           cout << setw(2) << x << " |";
            for(int y = 0; y > x; ++y)
            cout << " " << coeffBinomial(x, y) << setw(3);
            cout << endl;
        }
    }
    //------------------------------------------------------------------------------
    int main()
    {
      int nLignes = 0;
     
      cout << "Triangle de Pascal" << endl;
      cout << "==================" << endl;
      cout << "Saisir le nombre de lignes souhait\202 (entre 1 et 15 inclus) : ";
      cin  >> nLignes;
      cout << endl;
     
      afficherTrianglePascal(nLignes);
     
      cout << endl;
      system("pause");
      return EXIT_SUCCESS;
    }
    /************************************************************ FIN DU FICHIER **/
    A+

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2009
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Merci pour la réponse,

    je vais le changement et ca marche super !!!

    Amicalement Philou

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

Discussions similaires

  1. Affichage du Triangle de Pascal
    Par jrosenzw dans le forum C++
    Réponses: 11
    Dernier message: 14/03/2009, 03h10
  2. Triangle de pascal
    Par koko03 dans le forum Mathématiques
    Réponses: 3
    Dernier message: 26/01/2009, 17h52
  3. triangle de pascal
    Par chouuc dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 20/01/2009, 01h36
  4. Triangle de Pascal
    Par WhiteTigerZ dans le forum Pascal
    Réponses: 5
    Dernier message: 09/03/2007, 19h47
  5. Triangle de Pascal
    Par yushkoya dans le forum VBScript
    Réponses: 6
    Dernier message: 11/07/2006, 14h18

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