Maison > développement back-end > C++ > Programme C pour trouver la médiane d'une liste donnée

Programme C pour trouver la médiane d'une liste donnée

PHPz
Libérer: 2023-09-14 13:21:08
avant
1064 Les gens l'ont consulté

Programme C pour trouver la médiane dune liste donnée

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.

Algorithme

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 ;
   }
}
Copier après la connexion

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];
Copier après la connexion

Exemple

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);
}
Copier après la connexion

Sortie

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
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal