Bonjour
J'ai du mal à afficher le triangle de Pascal conformement à cet énoncé :
J'ai écrit ce code (dans un projet sous l'IDE DevC++) mais qui ne marche bien pour l'affichage.
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 /* Le triangle de Pascal. * Le triangle de Pascal est un tableau triangulaire de nombre qui commence comme * cela * 1 * 1 1 * 1 2 1 * 1 3 3 1 * 1 4 6 4 1 * 1 5 10 10 5 1 * 1 6 15 20 15 6 1 * 1 7 21 35 35 21 7 1 * 1 8 28 56 70 56 28 8 1 * * Chaque nombre du triangle de Pascal est une des combinaisons C(n,k). * Si on compte les lignes et le colonnes * diagonales à partir de 0, le nombre de ligne n et de la colonne k est C(n,k). * Par exemple, le nombre de la ligne 6 colonne 2 est C(6,2) = 15. Ecrire un * programme qui utilise la fonction comb() pour imprimer le triangle de Pascal * jusqu'à la douzième ligne. */
fichier .h "triangleDePascal.h"
fichier principale "main.cpp"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int comb(int n, int k) { if(n < 0|| k < 0 || n < k ) return 0; int c = 1, m = n + 1; // m = n + 1; for( int i = 1; i <= k; i++,m--) { c *= m/i; } return c; }
Est-ce que quelqu'un voit une erreur sur ce code qui fait que j'obtiens un résultat erroné. (Exemple d'affichage pour
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 #include <cstdlib> #include <iostream> #include "triangleDePascal.h" using namespace std; int main(int argc, char *argv[]) { int n, k; cout << " Entrez deux entiers pour l'impression du triangle de Pascal : "; cin >> n >> k; for ( int i = 0; i < n; i++ ) { for ( int j = i; j < k; j++ ) { cout << " "; cout << comb( i, j ) << '\n'; } cout << endl; cin.ignore(numeric_limits < streamsize > ::max(), '\n'); } }
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 C(6,2) : 1 0 1 2 )
Partager