Exercice langage C Triangle de Pascal
Rédigé par GC Team, Publié le 05 Février 2011, Mise à jour le Mardi, 08 Novembre 2022 10:20Exercice langage C : Matrices
Ecrire un programme qui construit le triangle de PASCAL de degré N et le mémorise dans une matrice carrée P de dimension N+1.
Exemple: Triangle de Pascal de degré 6:
n=0 |
1 | ||||||||
n=1 | 1 | 1 | |||||||
n=2 | 1 | 2 | 1 | ||||||
n=3 | 1 | 3 | 3 | 1 | |||||
n=4 | 1 | 4 | 6 | 4 | 1 | ||||
n=5 | 1 | 5 | 10 | 10 | 5 | 1 | |||
n=6 | 1 | 6 | 15 | 20 | 15 | 6 | 1 |
Méthode:
Calculer et afficher seulement les valeurs jusqu'à la diagonale principale (incluse). Limiter le degré à entrer par l'utilisateur à 13.
Construire le triangle ligne par ligne:
- Initialiser le premier élément et l'élément de la diagonale à 1.
- Calculer les valeurs entre les éléments initialisés de gauche à droite en utilisant la relation:
Pi,j = Pi-1,j + Pi-1,j-1
Corrigé exercice langage C Triangle de Pascal
#include
main()
{
/* Déclarations */
int P[14][14]; /* matrice résultat */
int N; /* degré du triangle */
int I, J; /* indices courants */
/* Saisie des données */
do {
printf("Entrez le degré N du triangle (max.13) : ");
scanf("%d", &N);
} while (N>13||N<0);
/* Construction des lignes 0 à N du triangle: */
/* Calcul des composantes du triangle jusqu'à */
/* la diagonale principale. */
for (I=0; I<=N; I++)
{
P[I][I]=1;
P[I][0]=1;
for (J=1; J<I; J++)
P[I][J] = P[I-1][J] + P[I-1][J-1];
}
/* Edition du résultat */
printf("Triangle de Pascal de degré %d :\n", N);
for (I=0; I<=N; I++)
{
printf(" N=%2d", I);
for (J=0; J<=I; J++)
if (P[I][J])
printf("%5d", P[I][J]);
printf("\n");
}
return 0;
}