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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
vector<int> eraseVide; //Liste d'élément à effacer
bool alert; //Indicateur servant à vérifier si faut ajouter ou non un élément à la liste
int nbrVide;
//boiteListe liste des boîtes
//Détermine la quantité d'espace vide pour les boucles suivantes
nbrVide = boiteListe[espaceOpt.boiteNum].espaceVide.size();
//S'il existe plus d'un espace vide, vérifier s'il en n'existe pas des redondants
if(nbrVide>1) //Plus d'un espace vide
{
//Pour tout espace J jusqu'à nombre total d'espace,
for (j=0;j<nbrVide-1;j++)
{
//Pour tout espace I jusqu'à nombre total d'espace,
for(i=j+1;i<nbrVide;i++)
{
//Vérifie si les coordonnées de J et I sont identiques (doublon)
if(boiteListe[espaceOpt.boiteNum].espaceVide[j].coord[0][0] == boiteListe[espaceOpt.boiteNum].espaceVide[i].coord[0][0]
&& boiteListe[espaceOpt.boiteNum].espaceVide[j].coord[0][1] == boiteListe[espaceOpt.boiteNum].espaceVide[i].coord[0][1]
&& boiteListe[espaceOpt.boiteNum].espaceVide[j].coord[1][0] == boiteListe[espaceOpt.boiteNum].espaceVide[i].coord[1][0]
&& boiteListe[espaceOpt.boiteNum].espaceVide[j].coord[1][1] == boiteListe[espaceOpt.boiteNum].espaceVide[i].coord[1][1])
{
alert =0; //bool qui sert à ne pas ajouter //deux occurences du même espace vide
//Détermine si le doublon trouvé (coordonné identiques) existe déjà dans la liste à effacer (eraseVide)
for (k=0;k<eraseVide.size();k++)
{
if(j==eraseVide[k])
{
alert =1; //alert! il existe déjà, ne pas l'ajouter!!
}
}
//S'il n'existe pas déjà..
if (alert ==0)
{
eraseVide.push_back(j); //Ajoute le dans la liste
}
}
}
}
}
sortInt(eraseVide); //Classe en ordre numérique le vecteur (plus petit au plus grand)
for (j=0;j<eraseVide.size();j++)
{
k = eraseVide[j]-j;
//Efface l'élément eraseVide[j]-j de la liste d'espace vide
boiteListe[espaceOpt.boiteNum].espaceVide.erase(boiteListe[espaceOpt.boiteNum].espaceVide.begin()+k);
} |
Partager