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

C++ में अन्य सरणी तत्वों की तुलना में भिन्न आवृत्ति वाले तत्व का पता लगाएं

मान लीजिए कि हमारे पास एन संख्याओं की एक सरणी है, जहां सरणी में प्रत्येक तत्व समान संख्या में दिखाई देता है (एम बार, यह भी दिया गया है) एक तत्व को छोड़कर, हमें इस तत्व को खोजना होगा।

इसलिए, यदि इनपुट A =[6, 2, 7, 2, 2, 6, 6], m =3 जैसा है, तो आउटपुट 7 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • INT_SIZE :=8 * एक पूर्णांक प्रकार चर का आकार

  • आकार की एक सरणी गणना परिभाषित करें - INT_SIZE। और 0 से भरें

  • प्रारंभ करने के लिए मैं:=0, जब मैं

    • j :=0 को इनिशियलाइज़ करने के लिए, जब j <साइज़, अपडेट (j को 1 से बढ़ाएँ), करें -

      • अगर (arr[j] और 2^i) 0 के बराबर नहीं है, तो -

        • गिनती[i] :=गिनती[i] + 1

      • रेस :=0

    • इनिशियलाइज़ i :=0 के लिए, जब i

      • रेस:=रेस + ((गिनती[i] मॉड एम) * 2^i)

    • रिटर्न रेस

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
int selectUnique(unsigned int arr[], int size, int m){
   int INT_SIZE = 8 * sizeof(unsigned int);
   int count[INT_SIZE];
   memset(count, 0, sizeof(count));
   for(int i = 0; i < INT_SIZE; i++)
      for(int j = 0; j < size; j++)
         if((arr[j] & (1 << i)) != 0)
            count[i] += 1;
   unsigned res = 0;
   for(int i = 0; i < INT_SIZE; i++)
      res += (count[i] % m) * (1 << i);
   return res;
}
main(){
   unsigned int arr[] = { 6, 2, 5, 2, 2, 6, 6 };
   int size = sizeof(arr) / sizeof(arr[0]);
   int m = 3;
   cout << selectUnique(arr, size, m);
}

इनपुट

{ 6, 2, 5, 2, 2, 6, 6 }

आउटपुट

5

  1. C++ में किसी सरणी में सबसे छोटे मान की आवृत्ति ज्ञात कीजिए

    यहां हम देखेंगे कि किसी सरणी में सबसे छोटे तत्व की आवृत्ति कैसे ज्ञात करें। मान लीजिए कि सरणी तत्व [5, 3, 6, 9, 3, 7, 5, 8, 3, 12, 3, 10] हैं, यहाँ सबसे छोटा तत्व 3 है, और इस तत्व की आवृत्ति 4 है। तो आउटपुट 4 है । इसे हल करने के लिए हमें सूची का सबसे छोटा तत्व मिलेगा, फिर हम पहली संख्याओं की घटनाओं

  1. C++ का उपयोग करके किसी सरणी में किसी संख्या की आवृत्ति ज्ञात करें।

    मान लीजिए कि हमारे पास एक सरणी है। एन विभिन्न तत्व हैं। हमें सरणी में एक तत्व की आवृत्ति की जांच करनी है। मान लीजिए A =[5, 12, 26, 5, 3, 4, 15, 5, 8, 4], अगर हम 5 की बारंबारता ज्ञात करने की कोशिश करते हैं, तो यह 3 होगा। इसे हल करने के लिए, हम सरणी को बाईं ओर से स्कैन करेंगे, यदि तत्व दिए गए नंबर के

  1. सी++ प्रोग्राम सरणी को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए

    हम एरे को विभाजित करने की विधि द्वारा kth सबसे छोटा तत्व खोजने के लिए एक C++ प्रोग्राम विकसित करेंगे। एल्गोरिदम Begin    Function CreatePartition() has an array a, and the lower l and upper limit h as arguments    in := l and pi := h    for i in range l to h, do