Bonjour,
Dans mon projet informatique, je dois généré des nombres aléatoires suivant une loi gaussienne.
J'utilise la fonction gaussrand qui me génére des nombres aléatoires selon une loi gaussienne de mean=0 et d'écart type=1. Ensuite avec 2 variables m(moyenne) et ecart(ecart) que l'utilisateur va saisir lui permet de générer des nombres aléatoires suivant une loi gaussienne avec ses paramètres.
J'utilise une classe qui s'appelle gaussienne dans laquelle je déclare mes attributs et mes méthodes comme ceci :
Code c++ : 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 #ifndef GAUSSIENNE_H #define GAUSSIENNE_H #include <cstdlib> #include <cmath> class Gaussienne { private: // Pour respecter l'encapsulation car tous les attributs doivent être privé ////////////Déclarations des attributs////////////// double moy, ecartype; public : Gaussienne(double m, double ecart) : moy(m), ecartype(ecart) {}// constructeur /////////Declaration des fonctions/////////////// double get_moy(double m); void set_moy (double m); double get_ecart(double ecart); void set_ecart(double ecart); double gaussrand(); double cnd_manual(double x); }; #endif // GAUSSIENNE_H
Les fonctions gaussrand et cnd_manual sont implémentés dans un autre fichier.ccp. Dans mon main j'appelle donc ces 2 fonctions:
Lorsque je compile, j'ai les messages d'erreur suivant:
Code c++ : 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 #include <QCoreApplication> #include <iostream> #include <cstdlib> #include <ctime> #include <fstream> #include <cmath> #include "Gaussienne.h" using namespace std; int main() { double m, ecart; double nbpt,va,alea,p; cout << "Entrer une valeur moy :"; cin >> m; cout << "Entrer une valeur Ecart type :"; cin >> ecart; cout << "Entrer un nombre de point :"; cin >> nbpt; srand(time(0)); for(int i=0;i<nbpt;i++) { alea=gaussrand(); va=ecart*alea+m; p=cnd_manual(alea); cout << "valeur aleatoire : " << va << " Probabilte :" << p << "\n"; } return 0; }
- 'gaussrand' was not declared in this scope
- 'cnd_manual' was not declared in this scope
Je pensais que c'était un problème de bibliothèque mais j'ai presque insérer tous les bibliothèques nécessaires. Je vous demande alors de l'aide pour surpasser ce problème qui persiste il y'a une semaine.
Je vous remercie d'avance.
Partager