Bonsoir tout le monde,
Dans le cadre de mon cours d'informatique, je suis sensé réaliser un programme codé en C++ qui recherche, par le biai d'une fonction et d'appels récursifs, la racine de la fonction cosinus entre 0 et 2 par dichotomie.
Je crois que j'ai compris le principe et pourtant, lorsque je lance le programme que j'ai écrit, Windows m'indique que le programme a cessé de fonctionner.
Voici ci-bas le code source de ce programme. Pourriez-vous m'aider à comprendre pourquoi il ne fonctionne pas s'il-vous plait?
Code :
- #include <iostream>
- #include <cmath>
- #include <windows.h>
- using namespace std;
- double racinedecos(double borneinf, double bornesup)
- {
- double z = 0;
- if (cos((borneinf+bornesup)/2) > 0)
- {
- z = ((borneinf+bornesup)/2);
- return racinedecos(borneinf, z);
- }
- else if (cos((borneinf+bornesup)/2) < 0)
- {
- z = ((borneinf+bornesup)/2);
- return racinedecos(z, bornesup);
- }
- else if (cos((borneinf+bornesup)/2) == 0)
- {
- z = ((borneinf+bornesup)/2);
- return z;
- }
- return 0;
- }
- int main()
- {
- double sup = 2;
- double inf = 0;
- double X = racinedecos(inf, sup);
- cout << "La racine de la fonction cosinus qui est comprise entre 0 et 2 vaut " << X << endl;
- system("pause" );
- return 0;
- }
|
En vous remerciant d'avance de votre patience,
Swordfish
Message édité par 52v0rdf15h le 15-03-2013 à 20:37:26