pi.exe a cessé de fonctionner - quel est le problème ? - C++ - Programmation
Marsh Posté le 20-12-2008 à 12:53:18
meme dans n'importe quel langage on se rend compte tout de suite de ton erreur :
Code :
|
Au tout départ, i=0;
et donc ton calcul :
1/(i*(i+2))
est merdique :
1/(0*2)
1/0
En math on nous a toujours appris que la division par 0 était impossible.
Tu devrais mieux lire les erreurs que te retourne le programme
Marsh Posté le 20-12-2008 à 15:07:34
Ok, je n'y pensais même pas.
Comment voir les messages retournés par le programme ? il n'affichait rien et se fermait immédiatement et le debugger est vide
J'ai du loupé quelque chose
Merci beaucoup en tout cas
D'ailleurs maintenant, le programme affiche zéro : (cout << get_pi(10000)
Marsh Posté le 21-12-2008 à 19:17:12
j'apporte des précisions : le programme retourne zéro.
J'ai testé différentes choses mais je ne trouve toujours pas.
On dirait que tmp vaut 0 à la sortie de for()
Voici le code :
Code :
|
Marsh Posté le 21-12-2008 à 19:44:44
Il vaut aussi 0 pendant l'execution du for.
hint : quel est le type des deux opérandes dans ta division ? Donc quel est le type du résultat de la division ?
Marsh Posté le 21-12-2008 à 19:53:28
en fait, je dois obtenir :
1/(1*3), 1/(5*7), etc...
donc tmp = 1/(1*3) + 1(5*7) + 1/(9*11) etc.
Mais je ne sais pas quel est le type approprié
Marsh Posté le 21-12-2008 à 20:07:57
bon tu divises un entier par un entier, donc c'est une division entière, donc le résultat est un entier. Après tu le stockes dans un float mais c'est trop tard.
Hint² :
Code :
|
Marsh Posté le 21-12-2008 à 20:09:13
Tu vas avoir du mal à chopper des précisions arbitraires de pi dans du float, ou du double d'ailleurs
Marsh Posté le 21-12-2008 à 20:12:54
Attends, pour l'intant pi vaut zéro
Marsh Posté le 21-12-2008 à 20:24:42
ReplyMarsh Posté le 22-12-2008 à 17:59:11
c'est marant parce qu'avant de faire cette fonction, j'ai lu ces deux pages
Marsh Posté le 20-12-2008 à 12:33:27
Bonjour,
je n'y connais pas grand-chose en c++, et je bute sur une erreur.
Mon tout petit programme, censé calculer pi selon une précision passée en paramètre, compile mais son exécution est stoppée dès l'appel de la fonction get_pi : pi.exe a cessé de fonctionner, etc...
Voici mon code :