विचार करें कि हमारे पास एक सरणी A है, n विभिन्न तत्व हैं। हमें सरणी A से एक युग्म (x, y) ज्ञात करना है, ताकि x और y के बीच का अंतर दिए गए अंतर d के समान हो। मान लीजिए कि तत्वों की एक सूची A =[10, 15, 26, 30, 40, 70] की तरह है, और दिया गया अंतर 30 है, तो जोड़ी होगी (10, 40) और (30, 70)
इस समस्या को हल करने के लिए, हम मान लेंगे कि सरणी को क्रमबद्ध किया गया है, फिर बाएं से शुरू करके हम दो बिंदुओं को बिंदु तत्वों पर ले जाएंगे, शुरू में पहला 'i' पहले तत्व को इंगित करेगा, और दूसरा 'j' इंगित करेगा दूसरा तत्व। जब A[j] – A[i] n के समान हो, तो प्रिंट जोड़ी, यदि A[j] – A[i] उदाहरण
#include<iostream>
using namespace std;
void displayPair(int arr[], int size, int n) {
int i = 0;
int j = 1;
while (i < size && j < size) {
if (i != j && arr[j] - arr[i] == n) {
cout << "(" << arr[i] << ", " << arr[j] << ")"<<endl;
i++; j++;
}
else if (arr[j]-arr[i] < n)
j++;
else
i++;
}
}
int main() {
int arr[] = {10, 15, 26, 30, 40, 70};
int size = sizeof(arr)/sizeof(arr[0]);
int n = 30;
displayPair(arr, size, n);
}
आउटपुट
(10, 40)
(40, 70)