Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम किसी दी गई सूची के मध्य को खोजने के लिए।

यदि सूची के तत्वों को क्रम में व्यवस्थित किया जाता है, तो मध्य मान जो वस्तुओं को दो भागों में विभाजित करता है और दोनों ओर समान संख्या में आइटमों को माध्यिका कहा जाता है।

विषम संख्या में वस्तुओं का केवल एक मध्य मान होता है जबकि; सम संख्याओं में दो मध्य मान होते हैं।

इसलिए मदों की सम संख्या के लिए माध्यिका को दो मध्य मानों के औसत के रूप में निर्दिष्ट किया जाता है।

एल्गोरिदम

माध्यिका की गणना करने के लिए नीचे दिए गए एल्गोरिथम को देखें।

चरण 1 - वस्तुओं की गिनती रखते हुए वस्तुओं को एक सरणी में पढ़ें।

चरण 2 - वस्तुओं को बढ़ते क्रम में क्रमबद्ध करें।

चरण 3 - माध्यिका की गणना करें।

माध्यिका ज्ञात करने से पहले संख्याओं को छाँटने के लिए प्रयुक्त तर्क इस प्रकार है -

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 ;
   }
}

सूची का माध्यिका ज्ञात करने के लिए प्रयुक्त तर्क इस प्रकार है -

if ( n % 2 == 0)
   median = (a[n/2] + a[n/2+1])/2.0 ;
else
   median = a[n/2 + 1];

उदाहरण

दी गई संख्याओं के माध्यिका की गणना करने के लिए C प्रोग्राम निम्नलिखित है -

#include<stdio.h>
#define N 10
main( ){
   int i,j,n;
   float median,a[N],t;
   printf("Enter the number of items\n");
   scanf("%d", &n);
   /* Reading items into array a */
   printf("Input %d values \n",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("\n\nMedian is %f\n", median);
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -

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

  1. सी प्रोग्राम लिंक्ड लिस्ट की लंबाई ज्ञात करने के लिए

    लिंक्ड सूचियाँ गतिशील मेमोरी आवंटन का उपयोग करती हैं अर्थात वे उसी के अनुसार बढ़ती और सिकुड़ती हैं। उन्हें नोड्स के संग्रह के रूप में परिभाषित किया गया है। यहां, नोड्स के दो भाग होते हैं, जो डेटा और लिंक हैं। डेटा, लिंक और लिंक्ड सूचियों का प्रतिनिधित्व नीचे दिया गया है - लिंक की गई सूचियों के प्र

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें सभी सूची दी गई है, हमें सूची में उपलब्ध सबसे छोटी संख्या प्रदर्शित करने की आवश्यकता है यहां हम या तो सूची को क्रमबद्ध कर सकते हैं और सबसे छोटा तत्व प्राप्त कर सकते हैं या सबसे छोटा तत्व प्राप्त करने के लिए अंतर्न

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहाँ हम समस्या कथन के समाधान तक पहुँचने के लिए बिल्ट-इन फ़ंक्शंस की मदद लेंगे सॉर्ट() फ़ंक्शन का उपयोग करना उदाहरण # list list1 = [23,1