एक अनसॉर्टेड ऐरे दिया गया है और कार्य अनसॉर्टेड ऐरे का माध्य और माध्यिका निकालना है।
माध्य की गणना के लिए
माध्य औसत निकालने के लिए गणना की जाती है। हम माध्य निकालने के लिए दिए गए सूत्र का उपयोग कर सकते हैं:
माध्य = (ऐरे के सभी एलिमेंट्स का योग) / (कुल एलिमेंट्स की संख्या)
माध्यिका की गणना के लिए
यदि ऐरे सॉर्टेड है, तो विषम संख्या में एलिमेंट्स होने पर माध्यिका ऐरे का मध्य एलिमेंट होता है और जब ऐरे में एलिमेंट्स की संख्या सम होती है तो यह दो मध्य एलिमेंट्स का औसत होता है।
यदि ऐरे सॉर्टेड नहीं है तो पहला कार्य ऐरे को सॉर्ट करना है और फिर ही दिया गया तर्क लागू किया जा सकता है।
यदि 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→ माध्य की गणना करने के लिए फंक्शन घोषित करें
double mean(int arr[], int size)
int sum = 0 घोषित करें
Loop for int i = 0 to i < size, i++
sum += arr[i] सेट करें
return (double)sum / (double)size
Step 2→ माध्यिका की गणना करने के लिए फंक्शन घोषित करें
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
Step 3→ main() में
int arr[] = {3, 5, 2, 1, 7, 8} घोषित करें
int size = sizeof(arr)/sizeof(arr[0]) घोषित करें
mean(arr, size) कॉल करें
median(arr, size) कॉल करें
Stop
उदाहरण
#include <bits/stdc++.h>
using namespace std;
// माध्य की गणना
double mean(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++)
sum += arr[i];
return (double)sum / (double)size;
}
// माध्यिका की गणना
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