यहां हम देखेंगे कि हम एक सरणी में विषम और यहां तक कि अनुक्रमित तत्वों के पूर्ण अंतर कैसे प्राप्त कर सकते हैं। निरपेक्ष अंतर इंगित करता है कि यदि एक जोड़ी का अंतर ऋणात्मक है, तो निरपेक्ष मान लिया जाएगा। उदाहरण के लिए, मान लीजिए कि संख्याएँ {1, 2, 3, 4, 5, 6, 7, 8, 9} हैं। तो सम स्थिति तत्व 1, 3, 5, 7, 9 (0 से शुरू) हैं, और विषम स्थान तत्व 2, 4, 6, 8 हैं। इसलिए सम आँकड़ों के लिए अंतर है |1 - 3| =2, तब |2 - 5| =3, |3 - 7| =4 और |4 - 9| =5 इसी प्रकार विषम संख्या वाले स्थानों का अंतर 4 होगा।
एल्गोरिदम
offEvenDiff(arr, n)
begin even := 0 odd := 0 for i := 0 to n-1, do if i is even, then even := |even – arr[i]| else odd := |odd – arr[i]| done return (odd,even) end
उदाहरण
#include<iostream> #include<cmath> using namespace std; void oddEvenDiff(int arr[], int n, int &o, int &e) { int even = 0; int odd = 0; for (int i = 0; i < n; i++) { if (i % 2 == 0) { even = abs(even - arr[i]); //get the even difference } else { odd = abs(odd - arr[i]); } } e = even; o = odd; } main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int n = sizeof(arr) / sizeof(arr[0]); int odd, even; oddEvenDiff(arr, n, odd, even); cout << "The odd and even differences are: " << odd << " and " << even; }
आउटपुट
The odd and even differences are: 4 and 5