Rechercher : dans
Par :

Algorithme d'une factorielle - boucle while

ade67, le 3 mar 2008 à 19:05:31
 Signaler ce message aux modérateurs

Bonsoir,

Je dois créer un programme en langage C qui calcul une factorielle à l'aide d'une boucle while! Quelqu'un peut-il m'aider car je me prends la tête dessus depuis 3heures...
Merci d'avance!

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « Algorithme d'une factorielle boucle while » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
VBScript - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Java: Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

pyschopathe, le 3 mar 2008 à 19:16:40

Salut,

Si tu veux calculer la factorielle de n, l'algorithme est du genre :

i = n-1
resultat = n
tant que i > 1 faire
    resultat = resultat * i
    i = i-1
fin tant que
retourner resultat


Voilà, il ne te reste plus qu'à remettre ça en C et ça devrait marcher !

3

ade67, le 3 mar 2008 à 19:26:56

Ok je vais essayé!! Merci!

4

ade67, le 3 mar 2008 à 19:50:31

Ca ne marche pas! En C ça donne 4!=12, en gros l'ordi calcul i=n-1=3 et résultat=n=4 et donc pour le résultat ça fait 3*4=12 ... Il y a donc un problème =$... C'est comme ça depuis cet aprèm =(...

6

pyschopathe, le 3 mar 2008 à 20:13:39

#include <stdio.h>

int main()
{
     int n = 4;
     int i = n-1;
     int resultat = n;

     while (i > 1)
     {
          resultat = resultat * i;
          --i;
     }

     printf("Résultat : %i\n", resultat);
     return 0;
}


J'ai testé ce code, il fonctionne (resultat vaut 24).
Essaie et tiens-moi au courant.

7

ade67, le 3 mar 2008 à 20:25:39

MERCI =)!!Effectivement ça marche, j'ai juste rajouté un scan pour pouvoir rentrer manuellement une valeur dans le programme et tout marche niquel!! Merci beaucoup!

8

pyschopathe, le 3 mar 2008 à 20:33:43

Je t'en prie, c'est un plaisir !

Bonne continuation.

2

Toufou13190, le 3 mar 2008 à 19:19:40
  • +1

Salut
tuas quelques programmes déjà écrits là :

http://www.elektronique.fr/langage-c/langage-c-telecharger.p­hp

Sinon regarde dans ressources autour de ce sujet sur la droite de l'écran pour trouver toutes les réponses déjà données sur ce sujet!

A+

5

ade67, le 3 mar 2008 à 19:51:49

J'ai déjà regardé partout sur le forum mais je n'ai rien trouvé... quand au site il est très bien fait mais il n'y a rien sur les factoriels, il me servira peut être une autre fois! Merci quand même!

9

Mouna, le 2 avr 2008 à 23:05:39

F:=1
while n>1 do
begin
f:=f*n
n:=n-1
end;
factorielle:= f;

désolé je ne sait pas encore la langage C. Une petite informaticienne pascal, java c tout .
je souhaite que vous pouvez traduisez la solution obtenue en langage pascal en langage C. Merci

10

 pyschopathe, le 3 avr 2008 à 20:45:53
  • +2

Si tu as une question, il faudrait créer un nouveau sujet, celui-ci est résolu depuis un mois. De plus ta question n'est pas très claire, pourrais tu préciser ce que tu veux ? (sur un nouveau sujet...)