Bonjour à tous!
Je fais un programme en C++ ou je dois determiner les valeurs d'un polynome pour des entiers allant de 0 à 480.
Le polynome est le suivant:
y = 0,000000000322x5 - 0,000000257756x4 + 0,000081114881x3 - 0,008665354105x2 + 1,177898003058x - 2,112511004321
Il est un peu compliqué, mais il faut ce qu'il faut pour etre le plus précis possible
Je programme le tout dans une nouvelle classe:
class CRoom
{
private:
double a5, a4, a3, a2, a1, a0;
public:
CRoom(void);
~CRoom(void);
int power(int value, int n);
double fonction(int x);
};Mais voila, au moment de lire les resultats donnés par la fonction, ben je tombe de haut: les données ne sont pas celles attendues.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 CRoom::CRoom(void) { a5 = 3.22e-10 ; a4 = 2.57756e-7; a3 = 8.1114881e-5; a2 = 8.665354105e-3; a1 = 1,177898003058 ; a0 = 2,112511004321 ; } CRoom::~CRoom(void) { } int CRoom::power(int value, int n) { int result=1; for (int i=1;i<=n;i++) { result=value*result; } return result; } double CRoom::fonction(int x) { double y; if (x>=4) { y = a5*power(x,5) - a4*power(x,4) + a3*power(x,3) - a2*power(x,2) + a1*x - a0 ; } else y = 0; return y; }
D'ou pourrait venir l'erreur? De la définition de mes a(i) dans mon constructeur?
Merci d'avance pour votre aide
Partager