Сравнение через if
Задание: Составить алгоритм увеличения всех трех, введённых с клавиатуры, переменных на 5,если среди них есть хотя бы две равные. В противном случае выдать ответ «равных нет».
# include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
int chiclo1, chiclo2, chiclo3;
cout << "Введите 1 число: ";
cin >> chiclo1;
cout << "\nВведите 2 число: ";
cin >> chiclo2;
cout << "\nВведите 3 число: ";
cin >> chiclo3;
if ((chiclo1 == chiclo2 && chiclo1 == chiclo3) || (chiclo2 == chiclo3 && chiclo3 == chiclo1)) {
chiclo1 = chiclo1 + 5;
chiclo2 = chiclo2 + 5;
chiclo3 = chiclo3 + 5;
cout << "1 число = " << chiclo1 << endl;
cout << "2 число =" << chiclo2 << endl;
cout << "3 число =" << chiclo3 << endl;
}
else {
cout << "Равных нет";
}
return 0;
У меня всегда выводит "Равных нет". Где ошибка?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Потому что вы всегда проверяете на равенство ВСЕ ТРИ числа.
Вам надо проверять
if (chislo1 == chislo2 || chislo1 == chislo3 || chislo3 == chislo2)