je sais pas encore, j’y reflechi encore(approche du median par les 2 cotés ?)
Bon c’est bon j’ai résolu mon problème passant simplement mes variables en utf8_encode, et j’ai laissé mon xml en ISO-1 !
C’est pas le mieux, mais ça marche !
Mci
Les blagues moisies
Si j’avais a faire un truc comme ca je ferais ca :
function int meridian(int n)
{
if(n==0) return tableau.min();
int max = tableau.max();
int posMin = tableau.position(tableau.min());
tableau[posMin] += max;
meridian(n-1);
tableau[posMin] -= max;
}
C’est surement pas ca en meme temps :ane:
C’est une bonne piste mais… pourquoi s’arrêter au bout de n itérations ? comment tu sais que le median, ce sera le nième ?
Edit : par contre on peut adapter… on cherche le min et le max à chaque itération… on remplace les valeurs par une constante à définir. On refait une itération parmi les valeurs différentes de cette constante, on élimine les min et max de nouveau… jusqu’à n’avoir plus qu’une ou deux valeurs.
Par contre c’est en O(n²), donc pas super optimisé… :pt1cable:
pourquoi je m’arrette au bout de n ben en gros la ca va te sortir la n-ieme valeur du tableau ordonné.
Donc si tu veux le median tu fait n = longueur/2.
Ah ok !
Par contre ça reste en O(n²). On peut déjà optimiser un peu en stockant le max quelque part, pour ne pas avoir à le recalculer à chaque fois (on est pas obligé d’avoir le “nouveau” maximum à chaque itération, du moment que l’écart est fixe).
Edit : en fait, je sais pas si il faut vraiment chercher à faire mieux que le tri rapide… en une demi heure ça m’étonnerait qu’ils en veuillent autant.
Bon parcontre on change les valeur dans le tableau. Je sais pas si on a le droit au vu de l’énoncé enfait
Tu restaures pas les valeurs avec la soustraction après ?
Remarque ouais, je sais pas si on a le droit… le tableau peut très bien être transmis en paramètre en entrée seulement.
BN le monde !
:sleep: :hello:
Le monde ne dort jamais totalement : c’est seulement ⅓ du monde qui le fait à un instant donné (bon d’accord, quand la nuit se trouve au dessus de l’océan Pacifique, ça fait beaucoup moins d’⅓, remarque similaire possible lorsqu’elle arrive sur l’Asie ^^).
Mais BN à toi DarKChAm :sleep:
Bon ben bonjour aux 2/3 de levés
:hello:
Recherhce de médian
int min, max,median, pos_median_basse = 0,pos_median_haute = 0
min = getMin(tableau)
max = getMax(tableau)
median = faire Moyenne(tableau)
Pour toutes les valeurs du tableau;avec i pour la position dans le tableau
si tableau(i) < median && tableau(i) > min
alors min = tableau(i)
pos_median_basse = i
fin si
si tableau(i) > median && tableau(i) < max
alors max = tableau(i)
pos_median_haute = i
fin si
fin pour
//en théorie les 2 variables pos_median_haute et pos_median_basse ‘pointe’ sur la même case du tableau
:hello:
:hello:
:hello:
Je suis en mode "head in the ass" ! :paf:
Lapincompris…
Comment la moyenne peut t’aider à trouver le median ?
Merci encore pour votre patience ! :jap:
remarque, si tu fait la question 3 d’abord, tu as un arbre binaire de recherche pour trouver l’élement médian.
mais effectivement, le but c’est plutôt une méthode simple…
>jmgchouchou: ton algo recherche la position de l’élément égal à la moyenne, alors que selon l’énoncé, il faut l’élément situé à la moitié du tableau s’il était trié. (d’ou mon idée de compter les inférieurs et les supérieurs et d’arrêter lorsque les 2 valeurs sont égales(ou presque)
énoncé:
http://www.intmanagement.eu/admissions/ann…NFORMATIQUE.pdf
exact, j’avais mal interprété :jap: