एक क्रमबद्ध सरणी की एक सरणी के साथ दिया गया है और कार्य एक क्रमबद्ध सरणी के माध्य और माध्यिका की गणना करना है।
माध्य की गणना के लिए
औसत निकालने के लिए माध्य की गणना की जाती है। माध्य ज्ञात करने के लिए हम दिए गए सूत्र का उपयोग कर सकते हैं
माध्य =(एक सरणी के सभी तत्वों का योग) / (तत्वों की कुल संख्या
माध्यिका की गणना के लिए
यदि किसी सरणी को क्रमबद्ध किया जाता है, तो किसी सरणी में तत्वों की विषम संख्या के मामले में माध्यिका एक सरणी का मध्य तत्व होता है और जब किसी सरणी में तत्वों की संख्या सम होती है, तो यह दो मध्य तत्वों का औसत होगा।
अगर ऐरे को सॉर्ट नहीं किया जाता है तो पहला काम ऐरे को सॉर्ट करना है और उसके बाद ही दिए गए लॉजिक को लागू किया जा सकता है
यदि n विषम है
1, 2, 3, 4, 5 Median = 3
यदि n सम है
1, 2, 4, 5 Median = (2 + 4) / 2 = 3
इनपुट
arr[] = {3,5,2,1,7,8} आउटपुट
Mean is : 4.33333 Median is : 4
इनपुट
arr[] = {1, 3, 4, 2, 6, 5, 8, 7} आउटपुट
Mean is: 4.5 Median is: 4.5
एल्गोरिदम
Start
Step 1→ declare function to calculate mean
double mean(int arr[], int size)
declare int sum = 0
Loop For int i = 0 and i < size and i++
Set sum += arr[i]
End
return (double)sum/(double)size
Step 2→ declare function to calculate median
double median(int arr[], int size)
call sort(arr, arr+size)
IF (size % 2 != 0)
return (double)arr[size/2]
End
return (double)(arr[(size-1)/2] + arr[size/2])/2.0
Step 3→ In main()
Declare int arr[] = {3,5,2,1,7,8}
Declare int size = sizeof(arr)/sizeof(arr[0])
Call mean(arr, size)
Call median(arr, size)
Stop उदाहरण
#include <bits/stdc++.h>
using namespace std;
//calculate mean
double mean(int arr[], int size){
int sum = 0;
for (int i = 0; i < size; i++)
sum += arr[i];
return (double)sum/(double)size;
}
//calculate median
double median(int arr[], int size){
sort(arr, arr+size);
if (size % 2 != 0)
return (double)arr[size/2];
return (double)(arr[(size-1)/2] + arr[size/2])/2.0;
}
int main(){
int arr[] = {3,5,2,1,7,8};
int size = sizeof(arr)/sizeof(arr[0]);
cout << "Mean is : " << mean(arr, size)<<endl;
cout << "Median is : " << median(arr, size) << endl;
return 0;
} आउटपुट
यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -
Mean is : 4.33333 Median is : 4