Me corriger un petit pgm en c, SVP
shyndows
Messages postés
7
Statut
Membre
-
shyndows Messages postés 7 Statut Membre -
shyndows Messages postés 7 Statut Membre -
normalement mon pgm fait appel à 2 fonctions l'une pour calculer n! (factorielle) et l'autre pour le calcul de la combinaison entre deux entiers, mais je n'arrive pas à l'executer.
#include<stdio.h>
int fact(int n);
int comb(int n,m);
void main()
{ int n,m,x;
printf("donner deux entiers n et m");
scanf("%d",&n);
scanf("%d",&m);
printf("n!= %d",fact(n));
printf("C(n,m)= %d",comb(n,m));
scanf("%d",&x);
}
int fact(int n)
{int f;
if (n==0)
f = 1;
else
f = n*fact(n-1);
return f;
}
int comb(int n,m)
{int c;
if (n>=m)
c= fact(n)/fact(m)*fact(n-m);
else
c= fact(m)/fact(n)*fact(m-n);
return f;
}
merci d'avance ^_^
#include<stdio.h>
int fact(int n);
int comb(int n,m);
void main()
{ int n,m,x;
printf("donner deux entiers n et m");
scanf("%d",&n);
scanf("%d",&m);
printf("n!= %d",fact(n));
printf("C(n,m)= %d",comb(n,m));
scanf("%d",&x);
}
int fact(int n)
{int f;
if (n==0)
f = 1;
else
f = n*fact(n-1);
return f;
}
int comb(int n,m)
{int c;
if (n>=m)
c= fact(n)/fact(m)*fact(n-m);
else
c= fact(m)/fact(n)*fact(m-n);
return f;
}
merci d'avance ^_^
A voir également:
- Me corriger un petit pgm en c, SVP
- Petit point vert snap ✓ - Forum Snapchat
- Comment imprimer une photo en petit ✓ - Forum Photo numérique
- Petit 2 ✓ - Forum Windows
- Imprimer une photo à la taille qu'on veut? - Forum Photo numérique
- Point vert sur Snapchat - Forum Snapchat
1 réponse
Bonjour,
void main()
Le prototype de main sans argument est : int main(void)
Il renvoie de plus 0 lorsque le programme s'est bien déroulé. Donc il faut mettre un return 0; à la fin du main.
int comb(int n,m);
Pour mettre deux arguments, tu ne peux pas mettre le type en commun.
Il faut mettre : int comb(int n, int m);
Après avoir corrigé ces erreurs, ton programme devrait mieux marcher.
Si ça ne remarche pas, reposte le code avec les modifications, et dis-nous le message d'erreur.
Cdlt,
void main()
Le prototype de main sans argument est : int main(void)
Il renvoie de plus 0 lorsque le programme s'est bien déroulé. Donc il faut mettre un return 0; à la fin du main.
int comb(int n,m);
Pour mettre deux arguments, tu ne peux pas mettre le type en commun.
Il faut mettre : int comb(int n, int m);
Après avoir corrigé ces erreurs, ton programme devrait mieux marcher.
Si ça ne remarche pas, reposte le code avec les modifications, et dis-nous le message d'erreur.
Cdlt,
#include<stdio.h>
int fact(int n);
int comb(int n, int m);
void main()
{ int n,m,x;
printf(" Donner deux entiers n et m\n");
scanf("%d",&n);
scanf("%d",&m);
printf("\n n! = %d",fact(n));
printf("\n C(n,m) = %d",comb(n,m));
scanf("%d",&x);
}
int fact(int n)
{ int f;
if (n==0)
f = 1;
else
f = n*fact(n-1);
return f;
}
int comb(int n, int m)
{ int c;
if (n>=m)
c= fact(n)/fact(m)*fact(n-m);
else
c= fact(m)/fact(n)*fact(m-n);
return c;
}