Triangle de Pascal [C] [Résolu/Fermé]

Signaler
-
 h* -
Bonjour,
On ma demandé dans un exercices de faire un programme qui affiche les éléments du triangle de Pascal
et voilà j'ai créé la fonction mais
l'éxécution n'est pas bien au niveau de 1
il m'affiche le triangle comme sa :
saisir b 5
-2147483648
-2147483648 -2147483648
-2147483648 2 -2147483648
-2147483648 3 3 -2147483648
-2147483648 4 6 4 -2147483648

voilà la fonction :
double fact(int n)
{
     int i;
     for(i=n-1;i>0;i--)
     {
                     n=n*i;
                     }
                     return n;
                     }
int triangle(int b)
{
    int i,k=1,j;
    for(i=0;i<b;i++)
    {
    for(j=0;j<=i;j++)
    {
    k=fact(i)/(fact(j)*fact(i-j));
    printf("%4d\t",k);
    }
    printf("\n");
}
A voir également:

2 réponses

Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 766
Salut,
Dans ta fonction fact(int n), rajoute à la première ligne : if (n<=1) return 1;
Ca devrait mieux marcher ;)
Cdlt
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

MERCI c'est résolu!
LE probleme était dans la fonction factorielle
j'ai pas fait le cas ou n==0
MERCI ENCORE

Salut,
est-ce que tu pourrai m'envoyer ton programme du triangle de pascal en langage c s'il te plait parce que j'ai le meme problème il m'affiche n'importe quoi et je ne comprend pas pourquoi.
Merci
Cordialement SCANF("SALUTT")
comment programmer le formule de taylor en langage c?
#include <stdio.h>
main()
{
/* Déclarations */
int P[14][14]; /* matrice résultat */
int N; /* degré du triangle */
int I, J; /* indices courants */

do {
printf("Entrez le degré N du triangle (max.13) : ");
scanf("%d", &N);
} while (N>13||N<0);
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];
}
getchar();
/* 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");
getchar();
}

getchar();
}