CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Factoriel

Pseudo supprimé
Pseudo supprimé 16 novembre 2014 à 15:58:33

Bonjours,
Je voudrai savoir pourquoi mon programme ne veut pas compiler pour calculer une factoriel. Je vous remercie par avance.

  1. include<stdio.h>
  2. include<stdlib.h>
  3. include<math.h>

int i,k,n;
int factoriel(int n){
if(n>0){
while(i<=n){
k=n*i;
i=i+1;
}}
else {
k=1;
}
return (k);
}
int main(){
printf("n=");
scanf("%d",&n);
factoriel(n);
printf("%s%d","k=",k);
return 0;
system("pause");
}

Pseudo supprimé
Pseudo supprimé 16 novembre 2014 à 16:34:01

En fait c'était juste un bug mais la question que je me pose maintenant c'est pourquoi mon programme ne me calcul pas les factorielles?

Pseudo supprimé
Pseudo supprimé 16 novembre 2014 à 16:48:46

Oula, il y a pas mal de choses que tu n'as pas compris.

:d) Déjà les notions de variable locales :

C'est une mauvaise idée d'avoir tout déclaré en dehors avec "int i,k,n;"

Les variables utilisées par la fonction factorielle doivent être déclarées dans cette dernière. Pareil pour les variables utilisées par le main.

:d) Affectation :

"k=n*i;"
"i=i+1;"

Ici, la valeur de k est en gros égale à n² à la fin.
Je te laisse chercher pourquoi... (Tu n'utilises pas le bon opérateur)

:d) Principe de fonction :

Tu as une fonction "factoriel" qui retourne "k".
Pour afficher sa valeur il suffit d'afficher ce que la fonction retourne.

printf("n! = %d", factoriel(n));

Pseudo supprimé
Pseudo supprimé 16 novembre 2014 à 18:14:14

C'est bon je me suis corrigé

  1. include<stdio.h>
  2. include<stdlib.h>
  3. include<math.h>

int n;
int factoriel(int n){
int i,k=1;
if(n>0){
for(i=n;i>0;i--){
k=k*i;
}
}
else
k=1;
return (k);
}
int main(){
printf("n=");
scanf("%d",&n);
factoriel(n);
printf("%s%d","n!",factoriel(n));
return 0;
system("pause");
}

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment