#include #include #include #include #include #include std::vector read_sequence() { std::string s {}; std::getline(std::cin,s); std::stringstream ss { s }; std::vector sequence { std::istream_iterator(ss), std::istream_iterator() }; return sequence; } int main() { int lower_limit { }; int upper_limit { }; std::cout << "Enter your bingo number limit: "; std::cin >> lower_limit >> upper_limit; std::cin.ignore(std::numeric_limits::max(), '\n'); std::cout << "Enter your bingo numbers: "; std::vector numbers { read_sequence() }; auto check_limits = [&upper_limit, &lower_limit](int num) { return lower_limit <= num && num <= upper_limit; }; if (!std::all_of(numbers.begin(), numbers.end(), check_limits)) { std::cout << "You had a bingo number outside of the limits" << std::endl; return 1; } std::cout << "Enter the winning numbers: "; std::vector winning_numbers { read_sequence() }; std::cout << "The winnning numbers in a descending sorted order:" << std::endl; std::sort(winning_numbers.begin(), winning_numbers.end(), std::greater()); std::copy(winning_numbers.begin(), winning_numbers.end(), std::ostream_iterator(std::cout, " ")); std::cout << std::endl; auto it = std::find_first_of(numbers.begin(), numbers.end(), winning_numbers.begin(), winning_numbers.end()); if (it == numbers.end()) { std::cout << "No winning numbers were found." << std::endl; return 0; } auto dist = std::distance(numbers.begin(), it); std::cout << "First occurrence found at position: " << dist << std::endl; return 0; }