मैट्रिक्स का संशोधित माध्य निम्न प्रकार से परिभाषित किया गया है...
(पंक्ति-वार न्यूनतम का योग + स्तंभ-वार अधिकतम का योग) / (पंक्ति_आकार + स्तंभ_आकार)
आइए एक उदाहरण देखते हैं।
1 2 3 4 5 6 7 8 9
माध्य = (sum(1 + 4 + 7) + sum(7 + 8 + 9)) / (3 + 3)
हमें पहले माध्य ज्ञात करना है और फिर उन तत्वों की संख्या गिननी है जो माध्य से बड़े हैं।
यदि हम उपरोक्त उदाहरण लेते हैं, तो हमें काउंट के रूप में 3 मिलेगा। 3 तत्व हैं जो माध्य से बड़े हैं जो 6 है।
एल्गोरिदम
- मैट्रिक्स आरंभ करें।
- पंक्ति-वार न्यूनतम तत्वों का योग ज्ञात करें।
- स्तंभ-वार अधिकतम तत्वों का योग ज्ञात करें।
- उपरोक्त सूत्र से माध्य ज्ञात करें।
- अब, मैट्रिक्स के माध्य से बड़े तत्वों की संख्या गिनें।
कार्यान्वयन
निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:
#include <bits/stdc++.h>
using namespace std;
#define m 3
#define n 3
int getElementCountGreaterThanMean(int matrix[][n]) {
int rowSum = 0;
for (int i = 0; i < m; i++) {
int min = matrix[i][0];
for (int j = 1; j < n; j++) {
if (matrix[i][j] < min){
min = matrix[i][j];
}
}
rowSum += min;
}
int colSum = 0;
for (int i = 0; i < n; i++) {
int max = matrix[0][i];
for (int j = 1; j < m; j++) {
if (max < matrix[j][i]) {
max = matrix[j][i];
}
}
colSum += max;
}
int mean = (rowSum + colSum) / (m + n);
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (mean < matrix[i][j]) {
count++;
}
}
}
return count;
}
int main() {
int matrix[m][n] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
cout << getElementCountGreaterThanMean(matrix) << endl;
return 0;
}
आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।
3