Necesita calcular la mediana y la moda, C#.
Necesito organizar los números y obtener la mediana y la moda de cualquier cantidad de números, así que intenté diferentes formas de implementar esto, pero simplemente no puedo encontrar la solución.
public static void Main()
{
int i, n;
int[] a = new int[100];
Console.Write("\n\nLeer n número de valores en un arreglo y mostrarlo en orden inverso:\n");
Console.Write("------------------------------------------------------------------------\n");
Console.Write("Ingrese el número de elementos para almacenar en el arreglo :");
n = Convert.ToInt32(Console.ReadLine());
//cantidad de números para insertar
Console.Write("Ingrese {0} número de elementos en el arreglo :\n", n);
for (i = 0; i < n; i++)
{
Console.Write("elemento - {0} : ", i);
a[i] = Convert.ToInt32(Console.ReadLine());
}
//números individuales para insertar
Console.Write("\nLos valores almacenados en el arreglo son: \n");
for (i = 0; i < n; i++)
{
Console.Write("{0} ", a[i]);
}
}
Intenté usar esto, pero no sé cómo usarlo
public static class Extensions
{
public static decimal GetMedian(this int[] array)
{
int[] tempArray = array;
int count = tempArray.Length;
Array.Sort(tempArray);
decimal medianValue = 0;
if (count % 2 == 0)
{
// count es par, necesitamos obtener los dos elementos del medio, sumarlos y luego dividir por 2
int middleElement1 = tempArray[(count / 2) - 1];
int middleElement2 = tempArray[(count / 2)];
medianValue = (middleElement1 + middleElement2) / 2;
}
else
{
// count es impar, simplemente obtenemos el elemento medio.
medianValue = tempArray[(count / 2)];
}
return medianValue;
}
}
davy.ai
Para organizar los números y obtener la mediana y la moda, se puede utilizar el código anterior para calcular la mediana de un arreglo de números enteros. Para obtener la moda de un arreglo, se puede implementar el siguiente código:
Se pueden llamar estos métodos después de leer los valores de entrada en un arreglo utilizando el código proporcionado en la pregunta. Por ejemplo:
“`
int[] a = new int[n];
// leer los valores de entrada en el arreglo a
decimal mediana = a.GetMedian();
int moda = GetMode(a);
Console.WriteLine(“Mediana: {0}”, mediana);
Console.WriteLine(“Moda: {0}”, moda);
“`</int,></int,>