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

C++ में किसी सरणी की माध्यिका को अधिकतम करें

समस्या कथन

N तत्वों की एक सरणी arr[] और एक पूर्णांक K जहां K

यदि इनपुट ऐरे {1, 3, 2, 5} और k =3 है तो-

  • सॉर्ट किया गया ऐरे {1, 2, 3, 5} हो जाता है
  • 5 से बड़े 3 तत्व डालें। इस ऑपरेशन के बाद सरणी {1, 2, 3, 5, 6, 6, 6} हो जाती है।
  • नई सरणी का माध्यिका 5 है

एल्गोरिदम

1. In order to maximize the median of the resultant array, all the elements that need to be inserted must be greater than the maximum element from the array
2. Sort the array and the median of the array will be arr[size / 2] if the size is odd else (arr[(size / 2) – 1] + arr[size / 2]) / 2

उदाहरण

#include <bits/stdc++.h>
using namespace std;
double getMaxMedian(int *arr, int n, int k){
   int newSize = n + k;
   double median;
   sort(arr, arr + n);
   if (newSize % 2 == 0) {
      median = (arr[(newSize / 2) - 1] + arr[newSize / 2]) / 2;
      return median;
   }
   median = arr[newSize / 2];
   return median;
}
int main(){
   int arr[] = {1, 3, 2, 5};
   int n = sizeof(arr) / sizeof(arr[0]);
   int k = 3;
   cout << "Max median = " << getMaxMedian(arr, n, k) << endl;
   return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है-

Max median = 5

  1. C++ . का उपयोग करके i*arr[i] को अधिकतम करने के लिए एक सरणी को पुनर्व्यवस्थित करें

    इस लेख में, हम n संख्याओं के दिए गए सरणी को पुनर्व्यवस्थित करने की समस्या पर चर्चा करेंगे। मूल रूप से, हमें सरणी से तत्वों का चयन करना होगा। प्रत्येक तत्व का चयन करने के लिए, हमें कुछ बिंदु मिलते हैं जिनका मूल्यांकन वर्तमान तत्व के मूल्य से किया जाएगा * वर्तमान तत्व से पहले चुने गए कई तत्व। अधिकतम अ

  1. सी ++ में -1 के साथ सरणी के उपसर्ग को गुणा करके सरणी के योग को अधिकतम करें

    हमें एक पूर्णांक सरणी दी गई है और कार्य पहले किसी सरणी के उपसर्ग को लाना है और फिर इसे -1 से गुणा करना है, दूसरे एक सरणी के उपसर्ग योग की गणना करना और अंत में उत्पन्न उपसर्ग सरणी से अधिकतम योग प्राप्त करना है। उपसर्ग सरणी − . के रूप में उत्पन्न होती है उपसर्ग का पहला तत्वअरे [0] =किसी सरणी का पहला

  1. सी ++ में भूलभुलैया

    मान लीजिए कि एक भूलभुलैया में खाली जगह और दीवारों के साथ एक गेंद है। अब गेंद ऊपर, नीचे, बाएँ या दाएँ किसी भी दिशा में लुढ़क कर खाली रास्तों से जा सकती है, लेकिन दीवार से टकराने तक यह लुढ़कना बंद नहीं करेगी। जब गेंद रुकती है, तो वह अगली दिशा चुन सकती है। हमें गेंद की स्थिति, गंतव्य और भूलभुलैया शुरू