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

सी ++ में सशर्त ऑपरेटर का उपयोग किए बिना सरणी से सबसे बड़ा तत्व खोजें

मान लीजिए कि हमारे पास कुछ तत्वों के साथ एक सरणी ए है। हमें सरणी ए में सबसे बड़ा तत्व ढूंढना है, लेकिन बाधा यह है कि हम किसी भी सशर्त ऑपरेटर का उपयोग नहीं कर सकते हैं। तो अगर ए =[12, 63, 32, 24, 78, 56, 20], तो अधिकतम तत्व 78 होगा।

इस समस्या को हल करने के लिए, हम बिटवाइज़ और ऑपरेशन का उपयोग करेंगे। सबसे पहले हम सरणी में एक अतिरिक्त तत्व INT_MAX (जहां सभी बिट 1 है) सम्मिलित करेंगे। फिर हम सरणी से किसी भी युग्म का अधिकतम और मान ज्ञात करने का प्रयास करेंगे। इस प्राप्त अधिकतम मान में INT_MAX का AND मान और मूल सरणी का सबसे बड़ा तत्व होगा, और यह परिणाम होगा।

उदाहरण

#include <iostream>
#include <vector>
using namespace std;
int checkBit(int pattern, vector<int> arr, int n) {
   int count = 0;
   for (int i = 0; i < n; i++)
      if ((pattern & arr[i]) == pattern)
         count++;
   return count;
   }
   int findLargestElement(int arr[], int n) {
      vector<int> elements_vector(arr, arr + n);
      elements_vector.push_back(INT_MAX);
      n++;
      int res = 0;
      for (int bit = 31; bit >= 0; bit--) {
         int count = checkBit(res | (1 << bit), elements_vector, n);
         if ((count | 1) != 1)
               res |= (1 << bit);
      }
      return res;
}
int main() {
   int arr[] = {12, 63, 32, 24, 78, 56, 20};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << "Largest element is: " << findLargestElement(arr, n);
}

आउटपुट

Largest element is: 78

  1. सरणी में एक तत्व खोजें जैसे कि बाएँ सरणी का योग c ++ का उपयोग करके दाएँ सरणी के योग के बराबर हो

    मान लीजिए कि हमारे पास एक सरणी ए है, इसमें एन तत्व हैं। हमारा कार्य सरणी A को दो उप-सरणी में विभाजित करना है, ताकि प्रत्येक उप-सरणी का योग समान हो। मान लीजिए कि सरणी A =[2, 3, 4, 1, 4, 5], आउटपुट 1 है, इसलिए 1 से पहले और 1 के बाद के उप-सरणी लिए जाते हैं। [2, 3, 4], और [4, 5]। इस समस्या को हल करने क

  1. सी ++ में सरणी में प्रत्येक तत्व की सर्पासर गणना खोजें

    मान लीजिए कि एक सरणी A दिया गया है। हमें उस सरणी में प्रत्येक तत्व की संख्या को पार करना होगा। पार करने वाले अधिक से अधिक तत्व होते हैं जो वर्तमान तत्व की सरणी के दाईं ओर मौजूद होते हैं। मान लीजिए A ={2, 7, 5, 3, 0, 8, 1}, श्रेष्ठ हैं {4, 1, 1, 2, 0, 0}, तो 2 में दायीं ओर 4 संख्याएँ हैं, जो बड़ी हैं

  1. सी ++ प्रोग्राम एक ऐरे का सबसे बड़ा तत्व खोजने के लिए

    एक सरणी में कई तत्व होते हैं और एक सरणी में सबसे बड़ा तत्व वह होता है जो अन्य तत्वों से बड़ा होता है। उदाहरण के लिए। 5 1 7 2 4 उपरोक्त सरणी में, 7 सबसे बड़ा तत्व है और यह इंडेक्स 2 पर है। किसी सरणी के सबसे बड़े तत्व को खोजने का प्रोग्राम इस प्रकार दिया गया है। उदाहरण #include <iostream> u