Pourquoi, ça ne marche pas?
landry
-
Bob -
Bob -
salut
voici un devoir qui m'a été donné a l'école et qui me demande de calculer le nombre de chance de gagner au tiercé,avec en entre le nombre de chevaux partant(n) et le nombre de cheveaux joués(p)
1 chance sur x de gagner:x=n!/p!
1chance sur y de gagner:y=n!/(n-p)!p!
j'ai ecris ce code,mais il ne marche pas,pourquoi?
#include<stdio.h>
#include<math.h>
void main()
{int i,j,n,m,p;
float x,y,factp,factn,factnp;
printf("Donner le nombres de chevaux partant:");
scanf("%d",&n);
printf("Donner le nombres de chevaux joues:");
scanf("%d",&p);
factn=1; factp=1; factnp=1;
for(i=1;i<n+1;i++);
factn=factn*i;
printf("pour n %f\n",factn);
for(j=1;j<=p;j++)
factp=factp*j;
printf("pour p %f\n",factp);
for (m=1;m<=(n-p);m++)
factnp=factnp*m;
printf("pour n-p %f",factnp);
x=factn/factp; y=factn/(factp*factnp);
printf("Dans l'ordre:une chance sur %f de gagner\n",x);
printf("dans le désordre:une chance sur %f de gagner\n",y);
}
voici un devoir qui m'a été donné a l'école et qui me demande de calculer le nombre de chance de gagner au tiercé,avec en entre le nombre de chevaux partant(n) et le nombre de cheveaux joués(p)
1 chance sur x de gagner:x=n!/p!
1chance sur y de gagner:y=n!/(n-p)!p!
j'ai ecris ce code,mais il ne marche pas,pourquoi?
#include<stdio.h>
#include<math.h>
void main()
{int i,j,n,m,p;
float x,y,factp,factn,factnp;
printf("Donner le nombres de chevaux partant:");
scanf("%d",&n);
printf("Donner le nombres de chevaux joues:");
scanf("%d",&p);
factn=1; factp=1; factnp=1;
for(i=1;i<n+1;i++);
factn=factn*i;
printf("pour n %f\n",factn);
for(j=1;j<=p;j++)
factp=factp*j;
printf("pour p %f\n",factp);
for (m=1;m<=(n-p);m++)
factnp=factnp*m;
printf("pour n-p %f",factnp);
x=factn/factp; y=factn/(factp*factnp);
printf("Dans l'ordre:une chance sur %f de gagner\n",x);
printf("dans le désordre:une chance sur %f de gagner\n",y);
}
3 réponses
/* Quelques rectifications en ISO/IEC 9899:1999 */
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
signed int main()
{
signed int i, j, n, m, p;
float x, y, factp, factn, factnp;
printf("Donner le nombres de chevaux partant:");
scanf("%d", &n);
printf("Donner le nombres de chevaux joues:");
scanf("%d", &p);
factn = 1;
factp = 1;
factnp = 1;
for(i = 1; i < n + 1; i++); // ERREUR manque "{" puis "}"
factn = factn*i;
printf("pour n %f\n", factn);
for(j = 1; j <= p; j++)
factp = factp * j;
printf("pour p %f\n", factp);
for (m = 1; m <= (n-p); m++) //ERREUR idem que precedement
factnp = factnp * m;
printf("pour n-p %f", factnp);
x = factn / factp; y = factn / (factp * factnp);
printf("Dans l'ordre:une chance sur %f de gagner\n", x);
printf("dans le désordre:une chance sur %f de gagner\n", y);
return EXIT_SUCCESS;
}
/*
NB: Organise mieux ton code c'est un peu le fouilli pratiquement aucun espace
*/
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
signed int main()
{
signed int i, j, n, m, p;
float x, y, factp, factn, factnp;
printf("Donner le nombres de chevaux partant:");
scanf("%d", &n);
printf("Donner le nombres de chevaux joues:");
scanf("%d", &p);
factn = 1;
factp = 1;
factnp = 1;
for(i = 1; i < n + 1; i++); // ERREUR manque "{" puis "}"
factn = factn*i;
printf("pour n %f\n", factn);
for(j = 1; j <= p; j++)
factp = factp * j;
printf("pour p %f\n", factp);
for (m = 1; m <= (n-p); m++) //ERREUR idem que precedement
factnp = factnp * m;
printf("pour n-p %f", factnp);
x = factn / factp; y = factn / (factp * factnp);
printf("Dans l'ordre:une chance sur %f de gagner\n", x);
printf("dans le désordre:une chance sur %f de gagner\n", y);
return EXIT_SUCCESS;
}
/*
NB: Organise mieux ton code c'est un peu le fouilli pratiquement aucun espace
*/