Si les éléments de la liste sont disposés dans l'ordre, la valeur médiane qui divise les éléments de la liste en deux parties avec un nombre égal d'éléments des deux côtés est appelée la médiane.
Si le nombre d'éléments est un nombre impair, il n'y aura qu'une seule valeur intermédiaire tandis que s'il y a un nombre pair d'éléments, il y aura deux valeurs intermédiaires ;
Ainsi, la médiane d'un nombre pair d'éléments est spécifiée comme la moyenne des deux valeurs médianes.
Veuillez vous référer à l'algorithme ci-dessous pour calculer la médiane.
Étape 1 - Lisez les éléments dans un tableau tout en conservant le nombre d'éléments.
Étape 2 - Triez les éléments par ordre croissant.
Étape 3 - Calculez la médiane.
La logique pour trier les nombres avant de trouver la médiane est la suivante -
for (i = 1 ; i <= n-1 ; i++){ for (j = 1 ; j <= n-i ; j++){ if (a[j] <= a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } else continue ; } }
La logique pour trouver la médiane d'une liste est la suivante -
if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1];
Voici le programme C pour calculer la médiane d'un nombre donné -
Démonstration en direct
#include<stdio.h> #define N 10 main( ){ int i,j,n; float median,a[N],t; printf("Enter the number of items</p><p>"); scanf("%d", &n); /* Reading items into array a */ printf("Input %d values </p><p>",n); for (i = 1; i <= n ; i++) scanf("%f", &a[i]); /* Sorting begins */ for (i = 1 ; i <= n-1 ; i++){ /* Trip-i begins */ for (j = 1 ; j <= n-i ; j++) { if (a[j] <= a[j+1]) { /* Interchanging values */ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } else continue ; } } /* sorting ends */ /* calculation of median */ if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1]; /* Printing */ for (i = 1 ; i <= n ; i++) printf("%f ", a[i]); printf("</p><p></p><p>Median is %f</p><p>", median); }
Lors de l'exécution du programme ci-dessus, la sortie suivante sera générée-
Enter the number of items 5 Input 5 values 2.3 1.2 3.8 4.6 8.9 8.900000 4.600000 3.800000 2.300000 1.200000 Median is 3.800000
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!