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

तत्वों को जोड़ा जाना है ताकि एक श्रेणी के सभी तत्व सी ++ में सरणी में मौजूद हों

इस समस्या में, हमें n संख्या से मिलकर एक सरणी arr[] दी जाती है। हमारा काम जोड़े जाने वाले तत्वों की संख्या ज्ञात करने के लिए एक प्रोग्राम बनाना है ताकि एक श्रेणी के सभी तत्व सरणी में मौजूद हों।

समस्या का विवरण: यहां, हमें यह सुनिश्चित करने के लिए कि किसी श्रेणी के सभी तत्व सरणी में मौजूद हैं, सरणी में जोड़े जाने के लिए आवश्यक तत्वों की संख्या को खोजने की आवश्यकता है। श्रेणी सरणी के सबसे छोटे तत्व . से है से सरणी का सबसे बड़ा तत्व।

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

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

आउटपुट: 2

स्पष्टीकरण:

सीमा 1 से 8 तक है,

जोड़े जाने वाले तत्व 4 और 7 हैं।

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

समस्या का एक सरल समाधान यह है कि श्रेणी का कौन सा तत्व सरणी में मौजूद नहीं है। इसके लिए, हमें सरणी को सॉर्ट करना होगा और फिर यह पता लगाना होगा कि अगला तत्व मौजूद है या नहीं।

एल्गोरिदम -

चरण 1: सरणी को क्रमबद्ध करें।

चरण 2: सरणी के माध्यम से लूप, i -> 0 से n-1 के लिए।

चरण 2.1: अगर गिरफ्तारी [i] + 1 !=गिरफ्तारी [i+1], तो गिनती बढ़ाएं।

चरण 3: प्रिंट गिनती।

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

उदाहरण

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

int calcEleRequired(int arr[], int n)
{
   int count = 0;
   sort(arr, arr + n);
   for (int i = 0; i < n - 1; i++)
      if (arr[i]+1 != arr[i+1] )
         count ++;

   return count;
}

int main()
{
   int arr[] = { 5, 7, 3, 1, 6, 2 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The number of elements required to complete the range is "<<calcEleRequired(arr, n);
   return 0;
}

आउटपुट -

The number of elements required to complete the range is 1

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

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

    विचार करें कि हमारे पास कुछ तत्वों के साथ एक सरणी ए है। हमें A से एक अवयव इस प्रकार ज्ञात करना है कि सभी तत्वों को इससे विभाजित किया जा सके। मान लीजिए कि ए [15, 21, 69, 33, 3, 72, 81] जैसा है, तो तत्व 3 होगा, क्योंकि सभी संख्याएं 3 से विभाज्य हो सकती हैं। इस समस्या को हल करने के लिए, हम ए में सबसे

  1. एक सरणी (सी ++) में सभी जोड़ीदार लगातार तत्वों का पूर्ण अंतर?

    इस समस्या में हम देखेंगे कि कैसे हम एक सरणी में तत्वों की प्रत्येक जोड़ी के तत्वों के बीच पूर्ण अंतर प्राप्त कर सकते हैं। यदि n तत्व हैं, तो परिणामी सरणी में n-1 तत्व होंगे। मान लीजिए कि तत्व {8, 5, 4, 3} हैं। परिणाम होगा |8-5| =3, तब |5-4| =1, |4-3|=1. एल्गोरिदम pairDiff(arr, n) begin