J'ai besoin d'écrire une fonction qui accepte un tableau de décimales et qui trouve la médiane.
Existe-t-il une fonction dans la bibliothèque mathématique de .net ?
J'ai besoin d'écrire une fonction qui accepte un tableau de décimales et qui trouve la médiane.
Existe-t-il une fonction dans la bibliothèque mathématique de .net ?
Mes 5 centimes (parce que cela semble plus direct/simple et suffisant pour les listes courtes) :
public static T Median<T>(this IEnumerable<T> items)
{
var i = (int)Math.Ceiling((double)(items.Count() - 1) / 2);
if (i >= 0)
{
var values = items.ToList();
values.Sort();
return values[i];
}
return default(T);
}
P.S. J'utilise la "médiane supérieure" telle que décrite par ShitalShah.
J'ai un histogramme avec la variable : groupe
Voici comment je calcule ma médiane :
int[] group = new int[nbr];
// -- Fill the group with values---
// sum all data in median
int median = 0;
for (int i =0;i<nbr;i++) median += group[i];
// then divide by 2
median = median / 2;
// find 50% first part
for (int i = 0; i < nbr; i++)
{
median -= group[i];
if (median <= 0)
{
median = i;
break;
}
}
median est l'indice de groupe de median
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.