Как в C++ найти наибольшее число среди a и b не используя оператор if, max и т.д.(Решить используя cin и cout)
Ответы
Ответ дал:
6
#include <iostream>
using namespace std;
int main()
{
int a, b;
cout<<"Enter a, b :"; cin >> a >> b;
int max;
// отбор максимального числа
((a >= b) && (max=a)) || ((b >= a) && (max=b));
cout << "max = " << max;
return 0;
}
Приложения:
igorShap:
Ну так это не решение пока
Так-то можно вообще в две строки: max = a; max = b; - от же результат, 50 на 50
тот же*
Но идея интересная
Всё, должно работать.
Вы пропустили случай равенства чисел, добавьте в каком-нибудь случае >=
Готово
Сейчас еще раз исправлю)
Всё. Проверил - работает
Все, теперь работает
Ответ дал:
3
Привожу 3 способа.
std::cout << ((a > b) ? a : b);
//тернарный оператор
std::cout << a * (a > b) + b * (!(a > b));
//использование автоматического приведения в данной записи значений bool к int
std::cout << (a + b + abs(a - b)) / 2;//математический способ вычисления. Необходимо подключить библиотеку math.h. Возможно переполнение
Вас заинтересует
1 год назад
2 года назад
3 года назад
3 года назад
8 лет назад