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

C++ में प्राकृतिक संख्याओं से कुछ पूर्णांक हटाने के बाद kवां सबसे छोटा तत्व


इस ट्यूटोरियल में, हम एक ऐसा प्रोग्राम लिखेंगे जो प्राकृतिक संख्याओं से कुछ पूर्णांक हटाने के बाद सबसे छोटा तत्व ढूंढता है।

हमें तत्वों की एक सरणी और k मान दिया गया है। दी गई सरणी में मौजूद सभी तत्वों को प्राकृतिक संख्याओं से हटाएं। और फिर शेष प्राकृतिक संख्याओं से kवां सबसे छोटा तत्व ढूंढें।

आइए इस समस्या को हल करने के चरण देखते हैं।

  • सरणी और k को इनिशियलाइज़ करें।
  • एक सरणी इनिशियलाइज़ करें और दिए गए सरणी में मौजूद तत्वों को छोड़कर सभी तत्वों को 0 से इनिशियलाइज़ करें।
  • एक लूप लिखें जो दी गई सरणी के आकार तक चले।
    • यदि वर्तमान तत्व उपरोक्त सरणी में मौजूद नहीं है तो k का मान घटाएं।
    • जब k शून्य हो जाए तो वर्तमान मान वापस करें।
  • 0 वापस करें।

उदाहरण

आइए कोड देखते हैं।

#include <bits/stdc++.h> #define MAX 1000000 using namespace std; int smallestNumber(int arr[], int n, int k) {    int flag[MAX];    memset(flag, 0, sizeof flag);    for (int i = 0; i < n; i++) {       flag[arr[i]] = 1;    }    for (int i = 1; i < MAX; i++) {       if (flag[i] != 1) {          k--;       }       if (!k) {          return i;       }    }    return 0; } int main() {    int k = 2;    int arr[] = { 3, 5 };    cout << smallestNumber(arr, 2, k) << endl;    return 0; }

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।

2

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में लिखें।


  1. - C++ में अधिकतम एक तत्व हटाकर अधिकतम सबएरे योग को अधिकतम करना

    समस्या कथन N पूर्णांकों का एक ऐरे arr[] दिया गया है। कार्य पहले अधिकतम सब-एरे योग ढूंढना है और फिर सब-एरे से अधिकतम एक तत्व हटाना है। अधिकतम एक तत्व हटाएं ताकि हटाने के बाद अधिकतम योग अधिकतम हो। यदि दिया गया इनपुट ऐरे है {1, 2, 3, -2, 3} तो अधिकतम सब-एरे योग {2, 3, -2, 3} है। फिर हम -2 हटा सकते है

  1. - C++ में M बार जोड़े गए ऐरे से K-वां न्यूनतम एलिमेंट ढूंढें

    मान लीजिए हमारे पास एक ऐरे A है, और दो अन्य पूर्णांक K और M हैं। हमें ऐरे को स्वयं से M बार जोड़ने के बाद Kवां न्यूनतम एलिमेंट ढूंढना है। मान लीजिए ऐरे A = [3, 1, 2], K = 4 और M = 3 है, तो A को 3 बार जोड़ने के बाद, यह [3, 1, 2, 3, 1, 2, 3, 1, 2] होगा, यहां 4वां सबसे छोटा एलिमेंट 2 है। इस समस्या को

  1. - C++ में std::vector से इंडेक्स द्वारा एलिमेंट हटाना

    C++ std::vector से इंडेक्स द्वारा एलिमेंट हटाने के निम्नलिखित तरीके से किया जा सकता है - उदाहरण #include <iostream> #include <vector> using namespace std; int main() { vector<int> v; // वेक्टर घोषित करें // वेक्टर में एलिमेंट्स डालें v.push_back(-10); v.push_back(