Élimination intervalles inclus
Bonjour,
voici mon problème:
j'ai des intervalles voici un exemple: [5,10],[30,90][70,89],[15,45],[67,87],[6,9].....
comme vous voyez l'intervalle [6,9] est inclut dans [5,10] et l'intervalle [70,89] est inclut dans [30,90] et [67,87] est inclut dans [30,90].
Moi je veux éliminer ces intervalles et bien en même temps diminuer la taille du tableau d'intervalles.
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void table_optimiser(ligne table[], int n){
int i=0;int j=0;int k=0;
for(i=0;i<n;i++) //pour fixer chaque intervalle
{
for(j=1;j<n;j++) //pour parcourir les autres intervalles et trouver les intervalles inclut.
{
if((table[i].posin<=table[j].posin)&&(table[i].posend>=table[j].posend))
{
for (k=j;k<n;k++)
{
table[k]=table[k+1]; //pour parcourir le reste du tableau et éliminer l'intervalle inclut
}
n--;
}
}
}
for (j = 0; j < n; j++){affichage_table(table[j],j);}
} |
est-ce que vous avez une idée? ou une autres approches?
Merci.