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

सी ++ में एक सरणी का संतुलन सूचकांक

इस समस्या में, हमें n पूर्णांक मानों से युक्त एक सरणी arr[] दिया जाता है। हमारा काम एक सरणी के संतुलन सूचकांक को खोजने के लिए एक प्रोग्राम बनाना है।

संतुलन सूचकांक वह सूचकांक है जिस पर सूचकांक से पहले सभी तत्वों का योग सूचकांक के बाद सभी तत्वों के योग के समान होता है।

आकार n के सरणी arr[] के लिए, संतुलन सूचकांक e ऐसा है कि,

योग (arr[0… e-1] ) =योग (arr[e… n-1])

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: गिरफ्तारी [] ={5, 1, 2, 8, 3, 4, 1}

आउटपुट: 3

स्पष्टीकरण:

गिरफ्तार [0] + गिरफ्तार [1] + गिरफ्तार [2] =गिरफ्तार [4] + गिरफ्तार [5] + गिरफ्तार [6]

=> 5 + 1 + 2 =3 + 4 + 1

=> 8 =8

समाधान दृष्टिकोण:

एक आसान तरीका यह होगा कि लगातार मौसम की जाँच करके तत्व का पता लगाया जाए, सरणी का कोई भी तत्व एक संतुलन संख्या हो सकता है।

इसके लिए हम नेस्टेड लूप्स का इस्तेमाल करेंगे। सरणी के तत्वों के तत्वों पर पुनरावृति करने के लिए बाहरी। और आंतरिक जाँच करेगा कि क्या सरणी के किसी तत्व को संतुलन संख्या बनाया जा सकता है या नहीं।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;

int findEquilibriumIndex(int arr[], int n)
{
   int prevSum, nextSum;

   for (int i = 0; i < n; ++i) {  

      prevSum = 0;
      for (int j = 0; j < i; j++)
         prevSum += arr[j];
      nextSum = 0;
      for (int j = i + 1; j < n; j++)
         nextSum += arr[j];
         
      if (prevSum == nextSum)
         return i;
   }
   return -1;
}

int main() {
   
   int arr[] = {5, 1, 2, 8, 3, 4, 1};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The equilibrium index is "<<findEquilibriumIndex(arr, n);
   return 0;
}

आउटपुट -

The equilibrium index is 3

  1. सी++ में ओवरलोडिंग ऐरे इंडेक्स ऑपरेटर []

    ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज फीचर्स में ऑपरेटर ओवरलोडिंग की महत्वपूर्ण भूमिका होती है। ऑपरेटर ओवरलोडिंग एक प्रकार का संकलन समय या स्थिर बहुरूपता है। एल्गोरिदम Begin Create a class Arr and declare size of array. Inside the class, initialize all the elements by using for loop. Prin

  1. C++ फ़ंक्शन में 2D सरणी पास करना

    किसी फ़ंक्शन को तर्क के रूप में Arrays को पारित किया जा सकता है। इस कार्यक्रम में, हम 2 आयामी सरणी के तत्वों को एक फ़ंक्शन में पास करके प्रदर्शित करने के लिए प्रदर्शन करेंगे। एल्गोरिदम Begin The 2D array n[][] passed to the function show(). Call function show() function, the array n (n) is tra

  1. एक सी ++ फ़ंक्शन में एक सरणी पास करना

    C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी इंडेक्स के बिना ऐरे का नाम निर्दिष्ट करके किसी ऐरे को पॉइंटर पास कर सकते हैं। यदि आप किसी फ़ंक्शन में एक एकल-आयाम सरणी को तर्क के रूप में पास करना चाहते हैं, तो आपको निम्नलिखित तीन तरीकों में से एक मे