Компилирование трех условий в один оператор может быть выполнено с тремя условиями, соединенными "и" или "&&".Если выполняются все три условия, система выходит из строя, как показано ниже.После того, как весь вектор был проверен без проблем, у вас возникает ситуация успеха.
Я думаю, что в вопросе об отрицательных числах есть двусмысленность.Как написано, я считаю, что -36, как первое число, не пройдет тест, но только если вы позаботитесь о отрицательном знаке:
#include <iostream>
#include <vector>
// ∀x∈D,if the ones digit of x is 6, then the tens digit is 1 or 2.
// vector contains [-48, -14, -8, 0, 1, 3, 16, 23, 26, 32, 36]
void question5(std::vector<int> x)
{
int i = 1;
for (auto &number: x) {
int abs_number = abs(number);
if (abs(abs_number) % 10 == 6 and (abs_number / 10 != 1 and abs_number / 10 != 2)) {
std::cout << "Element #" << i << " with a value of " << number
<< " is the first failing element." << std::endl;
return;
}
i++;
}
std::cout << "All elements satisfy the criteria." << std::endl;
return;
}
int main()
{
std::vector<int> vect{-48, -14, -8, 0, 1, 3, 16, 23, 26, 32, 36};
question5(vect);
return 0;
}