इस समस्या में, हमें n धनात्मक मानों वाली एक सरणी arr[] दी गई है। हमारा काम शेष तत्वों के योग के बराबर तत्व . को खोजना है सरणी का।
कोड विवरण: हमें उस तत्व को खोजने की जरूरत है जिसका मान उस तत्व को छोड़कर सरणी के सभी तत्वों के योग के बराबर है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट: गिरफ्तारी [] ={ 5, 4, 17, 1, 7 }
आउटपुट: 17पी>
स्पष्टीकरण -
शेष तत्व का योग (5 + 4 + 1 + 7) =17 है, जो शेष तत्व 17 के बराबर है।
समाधान दृष्टिकोण -
समस्या का एक सरल समाधान इस तथ्य का उपयोग कर रहा है कि सरणी के सभी तत्वों का योग दिए गए तत्व का दोगुना है। इसके लिए हम इन चरणों का पालन करेंगे,
चरण 1: सरणी के सभी तत्वों का योग ज्ञात कीजिए।
चरण 2: सरणी के प्रत्येक तत्व के लिए लूप,
चरण 2.1: अगर गिरफ्तारी [i] ==योग/2.
चरण 2.1.1: यदि सत्य हैं। ध्वज =1, लूप तोड़ें।
चरण 2.2.1: अगर गलत है, तो छोड़ दें।
चरण 3: अगर झंडा ==1, प्रिंट गिरफ्तार [i]
चरण 4: अन्यथा, प्रिंट करें “ऐसा कोई तत्व नहीं मिला .
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; void findElemenetInArray(int arr[], int n) { int arraySum = 0; int flag = 0, i; for (i = 0; i < n; i++) arraySum += arr[i]; for (i = 0; i < n; i++) if ( (2*arr[i]) == arraySum ) { flag = 1; break; } if(flag) cout<<arr[i]; else cout<<"No such element is found!"; } int main() { int n = 5; int arr[n] = { 5, 4, 7, 1, 17 }; findElemenetInArray(arr, n); return 0; }
आउटपुट
17