Bonjours
Voici une partit de mon programme :
std::vector <int> Index;
std::vector <int> Pos;
.
.
.
void OrgaIndex ( void )
{
std::vector <int> tmpo;
tmpo.resize(Pos.size());
std::copy(Pos.begin(),Pos.end(),tmpo.begin());
std::sort (tmpo.begin (), tmpo.begin () + 7, tmpo.end ());
for ( int i = 0; i < Pos.size(); i++ )
{
for ( int t = 0; t < Pos.size() ; t++ )
{
if ( tmpo[i] == Pos[t] ) Index[i] = t;
}
}
}
Au cour de mon programme la taille de Pos change mais la taille de Pos est toujours la meme que celle de Index.
en fait j'ai un ntableau Pos rempli de différentes valeur et je charge a rentrer dans Index l'ordre croissant de Pos.
je m'explique :
si Pos est constitué comme cela :
Pos[0] = 300
Pos[1] = 100
Pos[2] = 400
alors je veut que Index soit comme cela :
Index[0] = 1
Index[1] = 0
Index[2] = 2
voila sauf que ma fonction quand je l'appelle et si Pos comporte au moin une valeur , la fonction plante et fin du programme :(
Ou ai-je fait une erreur ??
Merci
KiRu@