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

दो क्रमबद्ध सरणियों की माध्यिका


माध्यिका मध्य संख्या होती है, दूसरे शब्दों में, माध्यिका मान एक क्रमबद्ध सूची में मध्य अवलोकन होता है। यह 50% के संचयी प्रतिशत से मेल खाता है।

दोनों सरणियों का आकार समान होना चाहिए। हम पहले प्रत्येक सरणी की अलग-अलग माध्यिका ज्ञात करेंगे, फिर उन अलग-अलग माध्यिकाओं की तुलना करके दोनों सूचियों की वास्तविक माध्यिका प्राप्त करेंगे।

इनपुट और आउटपुट

इनपुट: दो क्रमबद्ध सरणियाँ दी गई हैं। सरणी 1: {1, 2, 3, 6, 7} सरणी 2: {4, 6, 8, 10, 11} आउटपुट: दो सरणियों से माध्यिका। यहाँ माध्यिका मान 6 है। दी गई सूचियों को एक में मिलाएं। {1, 2, 3, 4, 6, 6, 7, 8, 10, 11} मिली हुई सूची से दो मध्य तत्वों का औसत निकालें। यहाँ (6+6)/2 = 6।

एल्गोरिदम

median(list, n)

इनपुट: डेटा की सूची, और डेटा की संख्या।

आउटपुट: दी गई सूची की माध्यिका।

शुरू   यदि सूची में डेटा की संख्या सम है, तो       वापस करें (list[n/2] + list[n/2-1])/2   अन्यथा       वापस करें list[n/2] अंत

findMedian(list1, list2, n)

इनपुट: दो क्रमबद्ध सूचियाँ, और सूचियों की संख्या।

आउटपुट: दो क्रमबद्ध सूचियों से माध्यिका।

शुरू   यदि n <= 0, तो       यह अमान्य है, और अमान्य संख्या वापस करें   यदि n = 1, तो       वापस करें (list1[0] + list2[0])/2   यदि n = 2, तो       वापस करें ((list1[0], list2[0] का अधिकतम) + (list1[1], list2[1] का न्यूनतम))/2   med1 := median(list1, n)   med2 := median(list2, n)   यदि med1 = med2, तो       वापस करें med1   यदि med1 < med2, तो       यदि डेटा की संख्या सम है, तो           उपसूची := list2 से डेटा, 0 से n/2 - 1 तक           वापस करें findMedian(उपसूची, list1, n - (n/2) + 1)       उपसूची := list2 से डेटा, 0 से n/2 तक       वापस करें findMedian(उपसूची, list2, n - (n/2)) अंत

उदाहरण

#include<iostream> using namespace std; int median(int list[], int n) {     if (n%2 == 0)      //जब सरणी में डेटा की संख्या सम हो      return (list[n/2] + list[n/2-1])/2;     else       //डेटा की विषम संख्या के लिए      return list[n/2]; } int findMedian(int list1[], int list2[], int n) {     if (n <= 0)       return -1;       //सूचियों की अमान्य लंबाई     if (n == 1)       return (list1[0] + list2[0])/2;       //एकल तत्व के लिए बस दो सरणियों से औसत लें     if (n == 2)       return (max(list1[0], list2[0]) + min(list1[1], list2[1])) / 2;     int med1 = median(list1, n);      //पहली सरणी से माध्यिका खोजें     int med2 = median(list2, n);      //दूसरी सरणी से माध्यिका खोजें     if (med1 == med2)      //जब दोनों माध्यिकाएँ समान हों, वे अंतिम माध्यिका हैं       return med1;     if (med1 < med2) {       if (n % 2 == 0)        return findMedian(list1 + n/2 - 1, list2, n - n/2 +1);       return findMedian(list1 + n/2, list2, n - n/2);     }     if (n % 2 == 0)      //जब med1 > med2       return findMedian(list2 + n/2 - 1, list1, n - n/2 + 1);     return findMedian(list2 + n/2, list1, n - n/2); } int main() {     int list1[] = {1, 2, 3, 6, 7};     int list2[] = {4, 6, 8, 10, 11};     int n1 = 5;     int n2 = 5;     if (n1 == n2)       cout<< "Median is "<<findMedian(list1, list2, n1);     else       cout<< "Doesn't work for lists of unequal size"; }

आउटपुट

Median is 6

  1. JavaScript में सरणी की माध्यिका (Median) की गणना JavaScript में सरणी की माध्यिका (Median) की गणना

    JavaScript में सरणी की माध्यिका (median) की गणना करने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&g

  1. C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना

    पूर्णांक एलिमेंट्स के एक ऐरे के साथ, डुप्लिकेट मानों को हटाकर विशिष्ट एलिमेंट्स को सॉर्टेड तरीके से प्रिंट करना है। नीचे एक ऐरे दिया गया है जो पूर्णांक प्रकार के मानों को 4, 6, 5, 3, 4, 5, 2, 8, 7 और 0 के क्रम में संग्रहीत करता है। अब, परिणाम सॉर्टेड एलिमेंट्स को 0, 2, 3, 4, 4, 5, 5, 6, 7 और 8 के

  1. - पायथन में क्रमबद्ध सरणी मर्ज करें

    मान लीजिए हमारे पास दो क्रमबद्ध सरणी A और B हैं। हमें उन्हें मर्ज करना है और केवल एक क्रमबद्ध सरणी C बनाना है। सूचियों का आकार भिन्न हो सकता है। उदाहरण के लिए, मान लीजिए A = [1,2,4,7] और B = [1,3,4,5,6,8], तो मर्ज की गई सूची C [1,1,2,3,4,4,5,6,7,8] होगी। हल करने के चरण i := 0, j := 0 और end := A क