salut a tous,
esq le nombre PI = 3.14... est definie dans C++ ou esq il faut que je le definisse moi meme en tant que constante ??
salut a tous,
esq le nombre PI = 3.14... est definie dans C++ ou esq il faut que je le definisse moi meme en tant que constante ??
Dans <cmath>, certaines implémentations définissent la constante M_PI. Mais bon ce n'est vraiment pas ce qu'il y a de plus dur à faire si ça n'est pas fourni.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
La constante M_PI n'est pas standard?certaines implémentations définissent la constante M_PI
Non, c'est une extension de certains compilos.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Sinon pi = 4 * atn(1.0).
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Attention à ne pas utiliser une macro si on fait ça.Sinon pi = 4 * atn(1.0).
Le meilleur moyen est encore de mettre directement sa valeur, c'est vraiment pas le genre de chose difficile à trouver![]()
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Ici on trouvera tout, en particulier le poème :
Que j'aime à faire connaître ce nombre utile aux sages !
Immortel Archimède, artiste, ingénieur,
Qui de ton jugement peut priser la valeur ?
Pour moi ton problème eut de pareils avantages.
Jadis, mystérieux, un problème bloquait
Tout l'admirable procédé, l'œuvre grandiose
Que Pythagore découvrit aux anciens Grecs.
Ô quadrature ! Vieux tourment du philosophe
Insoluble rondeur, trop longtemps vous avez
Défié Pythagore et ses imitateurs.
Comment intégrer l'espace plan circulaire ?
Former un triangle auquel il équivaudra ?
Nouvelle invention : Archimède inscrira
Dedans un hexagone ; appréciera son aire
Fonction du rayon. Pas trop ne s'y tiendra :
Dédoublera chaque élément antérieur ;
Toujours de l'orbe calculée approchera ;
Définira limite ; enfin, l'arc, le limiteur
De cet inquiétant cercle, ennemi trop rebelle
Professeur, enseignez son problème avec zèle
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
je pense que tu peut définir la constante pi commme telle:
float pi=3.14159f;
Les pièges de l'Internet
Helix, réponse à une intrusion
"La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
"Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton
Bonjour,
Pourquoi se faire ch*** avec un calcul ?Envoyé par Trap D
Pi est une constante, il suffit de la définir une fois pour toute.
Et pour ce qui est de sa valeur, pas besoin de faire je ne sais combien de sites:
La simple utilisation de la calculatrice la donnera (en tout cas sous Windows).
En général on retient facilement les 20 premières décimales (pas besoin d'en faire une poésie car elle est plus difficile à retenir), reste plus qu'à en faire une constante et le tour est joué...
Avec la méta-programmation, ça coute quasiment rien ...Pourquoi se faire ch*** avec un calcul ?
J'attends te voir ton meta-programme en C++ qui calcule pi.Envoyé par PRomu@ld
A+
--
Jean-Marc
Je n'aime pas beaucoup le ton employé ...J'attends te voir ton meta-programme en C++ qui calcule pi.
Le programme n'est pas de moi:
http://ktd.club.fr/programmation/cpp-metaprog.php#pi
bonjour,
Qu'il soit de toi ou non, "meta-programmation" ou non, tout calcul implique une perte de temps, même si elle est minime.Envoyé par PRomu@ld
Et je me répète : pourquoi vouloir obtenir Pi via un calcul alors que c'est une constante ?
(Si ce n'est pour montrer sa culture ?)
La seule justification serait de chercher à en disposer pour des calculs multiprécision dépassant la précision des types définis par le C/C++ ou le compilateur utilisé.
Et même dans ce cas, je pense (en fait : je suis sûr) que la définition d'une constante sera préférable.
Evidemment, si la culture va se nicher dans une formule niveau terminaleEnvoyé par thewho
![]()
Faudrait peut-être arrêter de se la jouer.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Ce n'est pas un méta-programme qui calcule pi, c'est un métaprogramme qui calcule une fonction qui calcule pi. Si c'était un méta-programme qui calculait pi, je pourrais l'utiliser pour dimentioner un tableau ou comme paramètre template. C'est la raison pour laquelle l'exemple paradigmatique du méta-programme:Envoyé par PRomu@ld
utilise des enum: parce qu'on peut s'en servir alors dans tous les endroits où l'on désire des entiers. En fait, un meta-programme peut calculer des fonctions, calculer avec des types et avec des entiers. Pas avec des flottants.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 template<int N> class Factorial { public: enum { value = N * Factorial<N-1>::value }; }; class Factorial<1> { public: enum { value = 1 }; };
Il serait possible d'écrire un méta-programme calculant pi, mais la tâche est loin d'être simple: il faut d'abord se définir un format à base d'entiers (par exemple deux enum, un pour la mantisse l'autre pour l'exposant -- ou plus simple, dire qu'on est en virgule fixe et donc que les entiers sont à diviser par 100000 -- en étant très tordu, tu peux te définir un format à base de types) et toutes les opérations (la division et la multiplication dans le cassimple doit prévoir le recadrage, dans l'autre format toutes les opérations sont à implémenter) et enfin les utiliser pour en faire un meta-programme.
Je suis réellement curieux de voir un tel méta-programme. Comme j'ai apprécié de voir quelqu'un implémenter du calcul en virgule flottante avec TeX. J'admirerais le hack (au sens MIT du terme). Mais je ne considère pas ça comme un moyen pratique d'avoir pi dans un programme. (Le calcul en virgule flottante avec TeX a une utilité par contre, mais rien que comme exercice de style, c'est impressionnant).
Merci pour l'explication claire et détaillée. J'avoue ne pas m'être plongé plus que ça dans la métaprogrammation, je ne programme qu'en C la plupart du temps ..., mais il faudra surement que je m'y interresse parce que théoriquement, c'est un super sujet.Ce n'est pas un méta-programme qui calcule pi, c'est un métaprogramme qui calcule une fonction qui calcule pi.
Bonjour,
Je ne me la joue pas, et ça ne répond pas à la question.Envoyé par Trap D
Quand quelqu'un me demande la valeur d'une constante, je ne réponds pas en donnant une formule permettant de la calculer.
Et pour préciser : niveau terminale, et encore.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define PI 3.141592653589793238462643383279502884197
C'est vicieux ca.Envoyé par NewbiZ
Le nombre de chiffres donnes laisse penser que c'est tres precis, le f final en fait laisse la precision d'un float. Si on l'assigne a un double, on a une estimation de pi moins precise que ce qu'un double permet d'exprimer.
Bonjour,
Bien vu et résumé.Envoyé par Jean-Marc.Bourguet
+1
Partager