यहां हम देखेंगे कि ऐरे में सम और विषम इंडेक्स वाले तत्वों के निरपेक्ष अंतर कैसे प्राप्त करें। निरपेक्ष अंतर इंगित करता है कि यदि किसी जोड़े का अंतर ऋणात्मक है, तो निरपेक्ष मान लिया जाएगा। उदाहरण के लिए, संख्याएं हैं {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 होंगे।
एल्गोरिदम
oddEvenDiff(arr, n)
begin
even := 0
odd := 0
for i := 0 to n-1, do
if i सम है, तो
even := |even – arr[i]|
else
odd := |odd – arr[i]|
end if
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]); // सम अंतर प्राप्त करें
} else {
odd = abs(odd - arr[i]);
}
}
e = even;
o = odd;
}
int 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;
return 0;
}
आउटपुट
The odd and even differences are: 4 and 5