Exercice langage C Triangle de Pascal

 

Exercice 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

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
#include <stdio.h>
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;
}