Cómo obtener la mediana de una matriz en lenguaje C

Cómo obtener la mediana de una matriz en lenguaje C

En programación C, obtener la mediana de una matriz es una tarea común e importante. La mediana es un valor especial en una matriz que la divide en dos partes de igual longitud. Cuando la longitud de la matriz es un número impar, la mediana es el elemento ubicado en el medio de la matriz; cuando la longitud de la matriz es un número par, la mediana es el promedio de los dos elementos del medio.

7Cómo obtener la mediana de una matriz en lenguaje C

Para obtener la mediana de una matriz, podemos seguir los siguientes pasos:

  1. Ordenar la matriz: Primero, necesitamos ordenar la matriz dada para poder encontrar la mediana con precisión. En lenguaje C, puede ordenar matrices utilizando algoritmos como ordenación rápida, ordenación por fusión o ordenación por inserción.

  2. Determine la ubicación de la mediana: Luego, necesitamos determinar la ubicación de la mediana. Dependiendo de la paridad de la longitud de la matriz, la posición de la mediana se puede calcular mediante la siguiente fórmula:

  • Cuando la longitud de la matriz es impar, la posición de la mediana es (longitud de la matriz + 1) / 2.

  • Cuando la longitud de la matriz es un número par, las posiciones de la mediana son (longitud de la matriz/2) y (longitud de la matriz/2 + 1).

  1. Obtenga el valor de la mediana: finalmente, según la posición determinada de la mediana, podemos obtener el valor de la mediana de la matriz ordenada. Si la longitud de la matriz es un número impar, el valor mediano es el elemento en la posición mediana; si la longitud de la matriz es un número par, el valor mediano es el promedio de los dos elementos centrales.

El siguiente es un código de muestra que implementa la obtención de la mediana de una matriz:

#incluir

//Ordenación rápida

void QuickSort(int arr[], int izquierda, int derecha) {

int i = izquierda, j = derecha;

int pivot = arr[izquierda + (derecha - izquierda) / 2];

mientras (yo <= j=“”>

mientras (arr[i] <pivote) {

yo ++;

}

mientras (arr[j] > pivote) {

j–;

}

si (yo <= j=“”>

int temp = arreglo[i];

arreglo[i] = arreglo[j];

arreglo[j] = temperatura;

yo ++;

j–;

}

}

si (izquierda <j) {

clasificación rápida(arr, izquierda, j);

}

si (yo <derecha) {

clasificación rápida(arr, i, derecha);

}

}

//Obtiene la mediana de la matriz

doble getMedian(int arreglo[], int longitud) {

// Ordena la matriz

clasificación rápida(arr, 0, longitud - 1);

// Determinar la ubicación de la mediana

int medianaIndex1 = longitud / 2;

int medianaIndex2 = longitud / 2 - 1;

// Obtener el valor mediano

doble mediana;

si (longitud % 2 == 0) {

mediana = (arr[medianIndex1] + arr[medianIndex2]) / 2.0;

} demás {

mediana = arr[medianIndex1];

}

mediana de retorno;

}

int principal() {

int arreglo[] = {5, 2, 9, 1, 7, 6, 4, 3, 8};

int longitud = tamaño de (arr) / tamaño de (arr [0]);

//Obtiene la mediana de la matriz

doble mediana = getMedian(arr, longitud);

printf(\La mediana de la matriz es %.2f\

\mediana);

devolver 0;

}

En este código de muestra, primero ordenamos la matriz dada usando un algoritmo de ordenación rápida. Luego, en función de la paridad de la longitud de la matriz, se determina la posición de la mediana y se obtiene el valor de la mediana de la matriz ordenada. Finalmente, llamamos a la función en la función principal getMedianpara obtener la mediana de la matriz e imprimirla.

Con los pasos anteriores, podemos obtener fácilmente la mediana de una matriz en lenguaje C. La mediana es importante en el análisis estadístico y el procesamiento de datos, ya que proporciona una comprensión intuitiva de la tendencia central de una matriz. Por lo tanto, en el desarrollo de programación, es de gran ayuda saber cómo obtener la mediana de una matriz. ¡Espero que este artículo pueda inspirarte!
Parte del código se transfiere desde: https://www.wodianping.com/c/2023-08/254185.html

Supongo que te gusta

Origin blog.csdn.net/qq_42151074/article/details/132270605
Recomendado
Clasificación