Triangle de Pascal
Cynthia76
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'essaye de réaliser le triangle de pascal en C et à vrai dire je bloque au niveau de la compréhension de la correction.
Voici le code :
Je ne comprend pas la deuxième partie qui traite de la création et de l'affichage. SI vous pouviez m'expliquer (avec des mots simples ^^ pourquoi il y'a des -1 un peu partout et aussi la ligne t[j] = t[j - 1] + t[j]; .
Merci :)
j'essaye de réaliser le triangle de pascal en C et à vrai dire je bloque au niveau de la compréhension de la correction.
Voici le code :
<ital>#include <stdio.h>
#define NMAX 12
int main()
{
int i, j;
int nb;
int t[NMAX];
printf("Combien de nb voulez vous ?\n");
scanf("%d", &nb);
if (nb > NMAX)
nb = NMAX;
printf("\n p");
for (i = 0; i < nb; i++)
printf("%5d", i);
printf("\n n \n");
for (i = 0; i <= nb; i++)
printf("-----");
printf("\n");
//création + affichage
for (i = 0; i < nb; i++)
{
t[i] = 1;
for(j = i - 1; j > 0; j--)
t[j] = t[j - 1] + t[j];
printf("%2d", i);
for (j = 0; j <= i; j++)
printf("%5d", t[j]);
printf("\n");
}
}</ital>
Je ne comprend pas la deuxième partie qui traite de la création et de l'affichage. SI vous pouviez m'expliquer (avec des mots simples ^^ pourquoi il y'a des -1 un peu partout et aussi la ligne t[j] = t[j - 1] + t[j]; .
Merci :)
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Triangle de Pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Faire un triangle sur indesign - Forum InDesign
- Triangle qui clignote en bas à droite de la télé (freebox révolution) - Astuces et Solutions
1 réponse
t[j-1] fait référence à l'élément avant t[j]. Pour le triangle de Pascal, c'est parce qu'il faut additionner les anciennes valeurs pour avoir les nouvelles.
1 2 1
Tu recopies le 1 (t[i] = 1) puis tu fais 1 + 2 = 3 ( t[j-1] = 1 et t[j] = 2). Ensuite tu fais 2 + 1 = 3 ( t[j-1] = 2 et t[j] = 1). Et tu finis par rajouter un 1.
1 2 1 -> 1 3 3 1 -> 1 4 6 4 1 etc...
1 2 1
Tu recopies le 1 (t[i] = 1) puis tu fais 1 + 2 = 3 ( t[j-1] = 1 et t[j] = 2). Ensuite tu fais 2 + 1 = 3 ( t[j-1] = 2 et t[j] = 1). Et tu finis par rajouter un 1.
1 2 1 -> 1 3 3 1 -> 1 4 6 4 1 etc...