How to find all pairs in a vector that equal to a given sum in C++

1 Answer

0 votes
#include <vector>
#include <iostream>

void findAllPairs(std::vector<int> &arr, int sum) {
	bool found = false;
	
	for (int i = 0; i < arr.size() - 1; i++) {
		for (int j = i + 1; j < arr.size(); j++) {
			if (arr[i] + arr[j] == sum) {
				std::cout << "arr[" << i << "](" << arr[i] << ") + " << "arr[" << j << "](" << arr[j] << ")" << "\n";
				found = true;
			}
		}
	}
	if (!found) {
		std::cout << "Pair not found" << "\n";
	}
}

int main() {
	std::vector<int> arr = {2, 4, 1, 5, 6, 8, 1};
	int sum = 10;

	findAllPairs(arr, sum);
}





/*
run:
 
arr[0](2) + arr[5](8)
arr[1](4) + arr[4](6)
 
*/

 



answered Oct 10, 2022 by avibootz
edited Apr 16, 2023 by avibootz

Related questions

1 answer 110 views
1 answer 110 views
1 answer 214 views
1 answer 170 views
1 answer 186 views
1 answer 155 views
...