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

अभाज्य संख्याओं के दिए गए सरणी से डुप्लीकेट हटाने के लिए C++ में एक प्रोग्राम लिखें

मान लीजिए कि हमने एक सरणी N आकार दिया है जिसमें सभी अभाज्य संख्याएँ हैं। कार्य दिए गए सरणी में डुप्लिकेट ढूंढना और उन्हें निकालना है। उदाहरण के लिए,

इनपुट-1 -

N = 8
arr[ ] = { 2 ,2 ,2 ,3 ,3 ,3 ,5 ,7 }

आउटपुट -

2 3 5 7

स्पष्टीकरण - अभाज्य संख्याओं के दिए गए सरणी में '2' और '3' के कुछ डुप्लीकेट हैं, डुप्लीकेट को हटाने के बाद आउटपुट 2 3 5 7 होगा।

इनपुट-2 -

N = 5
arr[ ] = { 3, 2, 7, 5, 5}

आउटपुट -

3 2 7 5

स्पष्टीकरण - अभाज्य संख्याओं के दिए गए सरणी में '5' के कुछ डुप्लीकेट हैं, डुप्लीकेट को हटाने के बाद आउटपुट 3 2 7 5 होगा।

इस समस्या को हल करने का तरीका

इस समस्या में, हम एक संख्या सरणी का उपयोग करते हैं जो सत्यापित करेगी कि संख्या सरणी में देखी गई है या नहीं। यदि ऐरे एलिमेंट का दौरा नहीं किया गया है, तो इसे '1' के रूप में बनाएं और इसे परिणाम में डालें अन्यथा तत्व डालने की कोई आवश्यकता नहीं है।

  • तत्वों के साथ वेक्टर सरणी के एन आकार का इनपुट लें।

  • एक पूर्णांक वेक्टर ऐरे रिमूव डुप्लीकेट्स(वेक्टर&arr, int size) जो एक इनपुट के रूप में एक ऐरे और उसके आकार को लेता है।

  • एक पूर्णांक सरणी जिसका उपयोग हम यह पता लगाने और सत्यापित करने के लिए करते हैं कि हमारे वर्तमान तत्व का दौरा किया गया है या नहीं। यदि सम्मिलित करते समय किसी भी तत्व का दौरा किया जाता है (अर्थात, '1'), तो हम उस विशेष तत्व को वेक्टर में नहीं धकेलेंगे अन्यथा तत्व को वेक्टर सरणी में धकेलेंगे।

  • परिणामी सदिश में केवल अद्वितीय अभाज्य संख्याएँ होंगी।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
vector<int>removeDuplicates(vector<int>&arr, int size){
   int num[100] ={0};
   vector<int> vec;
   for(int i=0;i<size;i++){
      if(num[arr[i]] ==0){
         num[arr[i]]=1;
         vec.push_back(arr[i]);
      }
   }
   return vec;
}
int main(){
   int N= 8;
   vector<int>arr={2,2,2,3,3,3,5,7};
   vector<int>answer= removeDuplicates(arr,N);
   for(int i=0;i<answer.size();i++){
      cout<<removeDuplicates(arr,N)<<endl;
   }
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड को चलाएंगे तो यह आउटपुट को इस रूप में प्रिंट करेगा,

2 3 5 7

अगर हम डुप्लीकेट हटाते हैं, तो आउटपुट 2 3 5 7 होगा।


  1. C++ में किसी सरणी में सभी अभाज्य संख्याओं का गुणनफल

    कुछ तत्वों के साथ एक पूर्णांक सरणी arr[] को देखते हुए, कार्य उस संख्याओं की सभी अभाज्य संख्याओं का गुणनफल खोजना है। अभाज्य संख्याएँ वे संख्याएँ होती हैं जिन्हें या तो 1 से या स्वयं संख्या से विभाजित किया जाता है, या एक अभाज्य संख्या एक ऐसी संख्या होती है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख

  1. C++ प्रोग्राम दिए गए रेंज के बीच प्राइम नंबर जेनरेट करने के लिए सेगमेंटेड चलनी को लागू करने के लिए

    यह दिए गए रेंज के बीच प्राइम नंबर जेनरेट करने के लिए सेगमेंटेड चलनी को लागू करने के लिए सी ++ प्रोग्राम है। खंडित चलनी पहले (n) से छोटे या उसके बराबर अभाज्य संख्याओं को खोजने के लिए साधारण चलनी का उपयोग करती है। इस एल्गोरिथम का विचार श्रेणी [0 ... n-1] को अलग-अलग खंडों में विभाजित करना और सभी खंडों

  1. C++ प्रोग्राम दिए गए रेंज के बीच प्राइम नंबर जेनरेट करने के लिए इरेटोस्थनीज की चलनी को लागू करने के लिए

    यह दिए गए रेंज के बीच प्राइम नंबर जेनरेट करने के लिए सिव ऑफ एराटोस्थनीज को लागू करने के लिए सी ++ प्रोग्राम है। इस पद्धति में, सभी तत्वों के साथ एक पूर्णांक सरणी शून्य से आरंभ होती है। यह इस प्रकार है जहां प्रत्येक गैर-अभाज्य तत्व के सूचकांक को नेस्टेड लूप के अंदर 1 के रूप में चिह्नित किया जाता है।