Problème de constructeurs
Debutant en webmastering
Messages postés
401
Date d'inscription
Statut
Membre
Dernière intervention
-
Debutant en webmastering Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Debutant en webmastering Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Bonjour, bonsoir,
je ne sais pas si la logique est bonne mais j'essaie, à partir d'un tableau de données (pour le moment simple mais après, à partir d'un .csv), de créer un nouvel objet ayant comme variables différentes données utiles pour des calculs mathématiques à venir.
Pour cela, je passe par un constructeur qui initialise mes variables (et effectue les calculs de base comme somme, moyenne etc) puis par un second constructeur qui est censé enregistrer ces variables ; mais quand j'essaie de les récupérer à l'aide d'un get, j'obtiens un simple 0 ce qui ne correspond en rien au résultat attendu.
Voici les différentes parties de code concernées (avec pour contrainte de travailler à partir d'une librairie statique "kNNclus")
J'ai fait différents "affichages" de variables à différents moments
mais processedNoise->getSum() donne toujours 0 comme résultat
Cordialement, Debutant en webmastering
je ne sais pas si la logique est bonne mais j'essaie, à partir d'un tableau de données (pour le moment simple mais après, à partir d'un .csv), de créer un nouvel objet ayant comme variables différentes données utiles pour des calculs mathématiques à venir.
Pour cela, je passe par un constructeur qui initialise mes variables (et effectue les calculs de base comme somme, moyenne etc) puis par un second constructeur qui est censé enregistrer ces variables ; mais quand j'essaie de les récupérer à l'aide d'un get, j'obtiens un simple 0 ce qui ne correspond en rien au résultat attendu.
Voici les différentes parties de code concernées (avec pour contrainte de travailler à partir d'une librairie statique "kNNclus")
//Main
//Test Data
unsigned int *noise = new unsigned int[N];
noise[0] = 36;
noise[1] = 40;
noise[2] = 36;
//End Test Data
kNNclus::CategoryData *processedNoise = new kNNclus::CategoryData(noise, N);
std::cout << "Sum of processedNoise = " << processedNoise->getSum() << std::endl;
class CategoryData
{
protected:
std::string label;
float sum, mean, min, max, variance, standardDeviation, expectation;
CategoryData(std::string la, float su, float me, float mi, float ma, float va, float sd, float ex);
CategoryData(float *columnData, unsigned int columnDataSize);
CategoryData(unsigned int *columnData, unsigned int columnDataSize);
float getSum();
//Constructors Used
CategoryData::CategoryData(unsigned int *columnData, unsigned int columnDataSize)
{
float sum = kNNclus::Utils::sumUnsignedInt(columnData, columnDataSize);
float mean = kNNclus::Utils::meanUnsignedInt(sum, columnDataSize);
float min = *std::min_element(columnData, columnData + columnDataSize);
float max = *std::max_element(columnData, columnData + columnDataSize);
float variance = kNNclus::Utils::varianceUnsignedInt(columnData, mean, columnDataSize);
float standardDeviation = kNNclus::Utils::standardDeviation(variance);
float expectation = kNNclus::Utils::expectationUnsignedInt(columnData, columnDataSize);
std::string label = "testUnsignedInt";
CategoryData(label, sum, mean, min, max, variance, standardDeviation, expectation);
}
CategoryData::CategoryData(std::string la, float su, float me, float mi, float ma, float va, float sd, float ex)
{
setLabel(la);
setSum(su);
setMean(me);
setMin(mi);
setMax(ma);
setVariance(va);
setStandardDeviation(sd);
setExpectation(ex);
}
J'ai fait différents "affichages" de variables à différents moments
noise[0]= 36
noise[1]= 40
noise[2]= 36
somme dans constructeur CategoryData::CategoryData(unsigned int *columnData, unsigned int columnDataSize) = 112
valeur avant set : 112
valeur après set : 112
somme dans constructeur CategoryData::CategoryData(std::string la, float su, float me, float mi, float ma, float va, float sd, float ex) = 112
mais processedNoise->getSum() donne toujours 0 comme résultat
Cordialement, Debutant en webmastering
A voir également:
- Problème de constructeurs
- Airbags Takata : une action de groupe bientôt lancée contre les constructeurs - Guide
- Voilà pourquoi les constructeurs n'affichent plus le vrai prix de vente des voitures neuves - Guide
- "On peut rouler plus vite que la limite autorisée" : voici la tolérance des radars selon leurs constructeurs - Guide
- Ce constructeur vend désormais plus de voitures électriques que Tesla – Et ce n'est qu'un début - Guide
- Ce constructeur rappelle d'urgence 23 000 voitures - un ouvrier aurait oublié de visser les sièges - Guide