bonjour,
voilà j'utilise peut etre mal mon vector mais j'ai ce problème :
j'ecris dans un fichier texte les valeurs qu'il contient ( ligne à ligne). J'obtient le bon nombre de lignes (donc le vecteur contient bien le bon nombre de valeurs) mais elles sont toutes identiques (et elles ne devraient pas, j'obtiens uniquement la derniere valeur sur toute les lignes)
voici mon code :
avant j'avais :
ecrireparam ecrit simplement les valeurs des parametres sur une ligne (ces valeurs sont correctes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cooc->calculParametres(); fprintf(f, "1\t"); cooc->getParametres()->ecrireParamFichier(f); fprintf(f,"\n");
maintenant j'ai :
au lieu de les ecrire dans un fichier texte je veux stocker les valeurs dans un vecteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 cooc->calculParametres(); ApprentissageExterieur->push_back(cooc->getParametres());
Ensuite pour vérifier j'ai fais la fonction suivante :
ma boucle for boucle bien le nombre de fois qu'elle dois, mais j'ai toujours mes valeurs (homogeneite etc..) identiques qui correspondent à la derniere...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 { std::string fichierSignet = "fichier.txt"; std::ofstream fichier(fichierSignet.c_str(), std::ios::trunc); if ( !fichier ){ std::cerr << "Erreur de creation du fichier" << std::endl; exit(1); } const std::string SEP = "\t"; for( std::vector<HaralickVecteur *>::iterator it = Vec->begin(); it!=Vec->end();it++) { fichier << (*it)->homogeneite << SEP << (*it)->contraste << SEP << (*it)->momentAngulaire << std::endl; } fichier.close(); }
Partager