На с++ с тернарной операциейДаны три целых числа. Требуется определить, превосходит

На с++ с тернарной операцией
Даны три целых числа. Нужно найти, превосходит ли максимум этих чисел удвоенную сумму 2-ух других либо нет.

Формат входных данных
С клавиатуры вводятся три целых числа через пробел, не превосходящие по модулю 105.
Формат выходных данных
Выведите YES, если максимум превосходит удвоенную сумму 2-ух иных чисел, и NO в неприятном случае.

Примечания
Если наибольший элемент равен двойной сумме, то требуется вывести также YES
Примеры
входные данные выходные данные
3 5 1
NO
3 4 14
YES

Задать свой вопрос
1 ответ

Метод решения

Представим, что 1-ое введённое число - наибольшее. Тогда в ans мы будем беречь 1, если 1-ое число не меньше двойной суммы второго и третьего, и 0, если меньше.

Проверим - если 2-ое число больше первого, мы запомним, что наибольшее число у нас 2-ое и пересчитаем ответ: 1, если 2-ое число не меньше двойной суммы первого и третьего, 0 иначе.

Точно так же проверим третье число: если оно больше нашего наибольшего, обновим его и ответ.

После этого мы выведем "YES", если в ans хранится 1, "NO" иначе.


Код

include lt;bits/stdc++.hgt;

using namespace std;

int main()

   int a, b, c;

   cin gt;gt; a gt;gt; b gt;gt; c;

   int mx = a;

   int ans = (a gt;= (b + c) * 2 ? 1 : 0);

   if (b gt; mx)

       mx = b;

       ans = (b gt;= (a + c) * 2 ? 1 : 0);

   

   if (c gt; mx)

       mx = c;

       ans = (c gt;= (a + b) * 2 ? 1 : 0);

   

   cout lt;lt; (ans == 1 ? "YES" : "NO") lt;lt; endl;

   return 0;


Другие варианты

1) int + тернарный оператор -gt; bool

include lt;bits/stdc++.hgt;

using namespace std;

int main()

   int a, b, c;

   cin gt;gt; a gt;gt; b gt;gt; c;

   int mx = a;

   bool ans = (a gt;= (b + c) * 2);

   if (b gt; mx)

       mx = b;

       ans = (b gt;= (a + c) * 2);

   

   if (c gt; mx)

       mx = c;

       ans = (c gt;= (a + b) * 2);

   

   cout lt;lt; (ans ? "YES" : "NO") lt;lt; endl;

   return 0;


2) string ans

include lt;bits/stdc++.hgt;

using namespace std;

int main()

   int a, b, c;

   cin gt;gt; a gt;gt; b gt;gt; c;

   int mx = a;

   string ans = (a gt;= (b + c) * 2 ? "YES" : "NO");

   if (b gt; mx)

       mx = b;

       ans = (b gt;= (a + c) * 2 ? "YES" : "NO");

   

   if (c gt; mx)

       mx = c;

       ans = (c gt;= (a + b) * 2 ? "YES" : "NO");

   

   cout lt;lt; ans lt;lt; endl;

   return 0;


, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Определить предложения какие они по цели высказывания и по интонации

Русский язык.

"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.

Русский язык.

на одной грядке коротышки посадили 3 ряда морковок по 8 штук

Разные вопросы.

эссе на тему какое образование дается в каждой семье

Қазақ тiлi.

Put the verb in brackets into the Present Indefinite. 1The Volga ,

Английский язык.

Сколько стоит коктейль молочный? Точную цену надо?

Математика.

Составить рассказ Из чего складывался культ монарха помазанника Божьего?

История.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт