How to check if product of every adjacent pairs exists in an array with C++

1 Answer

0 votes
#include <iostream>
#include <unordered_set>

bool check_product_of_every_pair(int arr[], int size) {
    std::unordered_set<int> set;
    
    for (size_t i = 0; i < size; i++) {
        set.insert(arr[i]);
    }
    
    for (size_t i = 0; i < size; i += 2) {
        int product = arr[i] * arr[i + 1];
        std::cout << arr[i] << " * " << arr[i + 1] << " = " << product << "\n";
        if (set.find(product) == set.end()) {
            return false;
        }
    }

    return true;
}
 
int main()
{
    int arr[] = {2, 3, 6, 5, 30, 0};
    int size = sizeof(arr) / sizeof(arr[0]);

    std::cout << (check_product_of_every_pair(arr, size) ? "Yes" : "No");
}




/*
run:

2 * 3 = 6
6 * 5 = 30
30 * 0 = 0
Yes

*/

 



answered Jul 22, 2023 by avibootz
...