Tri indice min et indice max
nesrionata
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
nesrionata Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
nesrionata Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
tout d'abord mon problème consiste à trier mon tableau de taille n déjà saisi; en utilisant le TRI MIN MAX:
son principe consiste à chercher à chaque itération l'indice du min et l'indice du max et permuter avec les éléments
i et n-i-1.
voilà les fonctions de recherche de ses indices
int getmin (float t[],int n,int i)
{
int p,j;
for(p=i,j=i+1;j<n;j++)
if (*(t+j) < *(t+p))
p=j;
return(p);
}
int getmax (float t[],int n,int i)
{
int p,j;
for(p=i,j=i+1;j<n;j++)
if (*(t+j) > *(t+p))
p=j;
return(p);
}
la procédure de tri est:
void tri_min_max(float t[],int n)
{
int i,i_min,i_max;
for(i=0;i<n/2;i++)
{
i_min=getmin(t,n,i);
i_max=getmax(t,n,i);
permuter(t+i,t+i_min);
if (i_max!=i)
permuter(t+n-i-1,t+i_max);
else
permuter(t+n-i-1,t+i_min);
}
}
voici un exemple:
pour un tableau ayant comme valeurs:{4,1,3,2,6,5}
il m'affiche {1,2,3,6,4,5}
je ne sais quoi faire, merci de m'aider.
tout d'abord mon problème consiste à trier mon tableau de taille n déjà saisi; en utilisant le TRI MIN MAX:
son principe consiste à chercher à chaque itération l'indice du min et l'indice du max et permuter avec les éléments
i et n-i-1.
voilà les fonctions de recherche de ses indices
int getmin (float t[],int n,int i)
{
int p,j;
for(p=i,j=i+1;j<n;j++)
if (*(t+j) < *(t+p))
p=j;
return(p);
}
int getmax (float t[],int n,int i)
{
int p,j;
for(p=i,j=i+1;j<n;j++)
if (*(t+j) > *(t+p))
p=j;
return(p);
}
la procédure de tri est:
void tri_min_max(float t[],int n)
{
int i,i_min,i_max;
for(i=0;i<n/2;i++)
{
i_min=getmin(t,n,i);
i_max=getmax(t,n,i);
permuter(t+i,t+i_min);
if (i_max!=i)
permuter(t+n-i-1,t+i_max);
else
permuter(t+n-i-1,t+i_min);
}
}
voici un exemple:
pour un tableau ayant comme valeurs:{4,1,3,2,6,5}
il m'affiche {1,2,3,6,4,5}
je ne sais quoi faire, merci de m'aider.
A voir également:
- Tri min max
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Maj to min - Guide
- Driver max - Télécharger - Pilotes & Matériel
- I14 pro max - Accueil - Guide téléphones
2 réponses
Bonjour
Si j'ai compris ton algorithme, tu cherches à chaque passage le min et le max, et tu les remets respectivement au début et à la fin de la zone explorée.
Dans ce cas, il me semble que ton intervalle de recherche devrait diminuer par les deux bouts à la fois. Or tu recherches entre i (qui augmente bien) et n (fixe)
Si j'ai compris ton algorithme, tu cherches à chaque passage le min et le max, et tu les remets respectivement au début et à la fin de la zone explorée.
Dans ce cas, il me semble que ton intervalle de recherche devrait diminuer par les deux bouts à la fois. Or tu recherches entre i (qui augmente bien) et n (fixe)
Merci toto pour votre réponse,
ce que vous m'avez dit est vrai, mais je ne sais pas comment je dois corriger le problème encore.
enfin nesrionita nesrionata nesrionétaaa !!