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 **/ |