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

किसी अन्य सरणी में गुम संख्या का पता लगाएं, जिसे C++ में कॉपी किया गया है

मान लीजिए, हमारे पास दो सरणियाँ A और B हैं, सरणी A में n तत्व हैं। दूसरी सरणी बी में ए के सभी तत्व हैं, लेकिन उन्हें फेरबदल किया जाता है और एक तत्व हटा दिया जाता है। हमें लापता तत्वों को खोजना होगा। तो अगर ए =[4, 8, 1, 3, 7], और बी =[7, 4, 3, 1], आउटपुट 8 है।

इसे XOR ट्रिक का उपयोग करके हल किया जा सकता है। प्रत्येक तत्व की संयुक्त घटना दो बार होती है, एक ए में और दूसरा बी में, एक तत्व को छोड़कर जिसमें ए में केवल एक ही घटना होती है। जैसा कि हम जानते हैं कि एक्स एक्सओआर एक्स =0, इसलिए यदि हम दोनों के तत्वों में एक्सओआर करते हैं सरणियाँ। परिणाम में नंबर नहीं होगा।

उदाहरण

#include<iostream>
using namespace std;
int FindMissingElement(int A[], int B[], int n) {
   int min_element = 0;
   for (int i = 0; i < n; i++)
   min_element = min_element ^ A[i];
   for (int i = 0; i < n - 1; i++)
   min_element = min_element ^ B[i];
   return min_element;
}
int main() {
   int A[] = {4, 8, 1, 3, 7};
   int B[] = {7, 4, 3, 1};
   int n = sizeof(A) / sizeof(A[0]);
   cout << "Missing element: " << FindMissingElement(A, B, n);
}

आउटपुट

Missing element: 8

  1. वह संख्या ज्ञात कीजिए जिसमें C++ में अंक d है

    विचार करें कि हमारे पास एक अंक d है, और ऊपरी सीमा n है। हमें उन सभी संख्याओं को खोजना है जिनमें d 0 से n तक की श्रेणी में है। तो अगर n =20, और अंक 3 है, तो संख्याएं [3, 13] होंगी। इस समस्या को हल करने के लिए, हम प्रत्येक संख्या को स्ट्रिंग के रूप में लेंगे, फिर यदि अंक स्ट्रिंग में मौजूद है, तो संख

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

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

  1. सरणी में सभी जोड़े (ए, बी) और (सी, डी) खोजें जो सी ++ में एबी =सीडी को संतुष्ट करते हैं

    मान लीजिए कि हमारे पास एक सरणी ए है, उस सरणी से, हमें दो जोड़े (ए, बी) और (सी, डी) चुनना है, जैसे कि एबी =सीडी। मान लीजिए कि सरणी A =[3, 4, 7, 1, 2, 9, 8] है। आउटपुट जोड़े (4, 2) और (1, 8) हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - i :=0 से n-1 के लिए, करें जे के लिए:=i + 1 से n-1 तक, कर