इस समस्या में, हमें n*n आकार का एक 2D ऐरे दिया गया है। हमारा कार्य एक ऐसा प्रोग्राम बनाना है जो C++ में मैट्रिक्स का मीन और मीडियन प्रिंट करे।
मीन डेटा सेट का औसत है। मैट्रिक्स में मीन मैट्रिक्स के सभी एलिमेंट्स का औसत है।
मीन = (मैट्रिक्स के सभी एलिमेंट्स का योग)/(मैट्रिक्स के एलिमेंट्स की संख्या)
मीडियन सॉर्टेड डेटा सेट का सबसे मध्य एलिमेंट है। इसके लिए, हमें मैट्रिक्स के एलिमेंट्स को सॉर्ट करना होगा।
मीडियन की गणना इस प्रकार की जाती है,
यदि n विषम है, मीडियन = मैट्रिक्स[n/2][n/2]
यदि n सम है, मीडियन = ((मैट्रिक्स[(n-2)/2][n-1])+(मैट्रिक्स[n/2][0]))/2
उदाहरण
हमारे समाधान के कार्य को स्पष्ट करने वाला प्रोग्राम
#include <iostream> using namespace std; const int N = 4; int calcMean(int Matrix[][N]) { int sum = 0; for (int i=0; i<N; i++) for (int j=0; j<N; j++) sum += Matrix[i][j]; return (int)sum/(N*N); } int calcMedian(int Matrix[][N]) { if (N % 2 != 0) return Matrix[N/2][N/2]; if (N%2 == 0) return (Matrix[(N-2)/2][N-1] + Matrix[N/2][0])/2; } int main() { int Matrix[N][N]= { {5, 10, 15, 20}, {25, 30, 35, 40}, {45, 50, 55, 60}, {65, 70, 75, 80}}; cout<<"Mean of the matrix: "<<calcMean(Matrix)<<endl; cout<<"Median of the matrix : "<<calcMedian(Matrix)<<endl; return 0; }आउटपुट
Mean of the matrix: 42 Median of the matrix : 42