#include <iostream>
#include <unordered_set>
void findPairs(int arr[], int size, int diff) {
std::unordered_set<int> set;
for (int i = 0; i < size; i++) {
if (set.find(arr[i] - diff) != set.end()) {
std::cout << arr[i] << ", " << arr[i] - diff << "\n";
}
if (set.find(arr[i] + diff) != set.end()) {
std::cout << arr[i] + diff << ", " << arr[i] << "\n";
}
set.insert(arr[i]);
}
}
int main()
{
int arr[] = { 4, 1, 7, 5, 8, 6, 9, 10 };
int diff = 3;
findPairs(arr, sizeof(arr) / sizeof(arr[0]), diff);
}
/*
run:
4, 1
7, 4
8, 5
9, 6
10, 7
*/