Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 30.06.2021
Сообщений: 25
1

Тернарные операторы и ветвления

27.08.2022, 10:40. Показов 845. Ответов 2

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста, вот например у меня есть функция, которую можно описать двумя способами: ветвление или с применением тернарных операторов(функция в вложении).

Вот код с использованием ветвления:
C
1
2
3
4
5
6
7
8
9
if(x<a1){
        y=1;
    }else if(x<=a1||x<a2){
        y=2;
    }else if(x<=a2||x<a3){
        y=3;
    }else if(x>=a3){
        y=4;
    }
Как видим, здесь нет блока else.
Теперь пишем тоже самое, но с использованием тернарных операторов:
C
1
y=x<a1?1:(x<=a1||x<a2)?2:(x<=a2||x<a3)?3:x>=a3?4;
И получаем ошибку, т.к. у нас конец поля ; а ожидается :
Как этого избежать?
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2022, 10:40
Ответы с готовыми решениями:

Операторы присваивания, ввода- вывода. Операторы ветвления, выбора
Даны два ненулевых числа. Найти их сумму, разность, произведение, частное, остаток и целую часть от...

Типы данных. Операции. Операторы. операторы ветвления
Создать программу. Воспользоваться оператором вариантов. ...

Операторы ветвления и операторы передачи управления
1. Вычислить значения функции F при вещественных a, b, c, x, вводимых с клавиатуры. 2....

операторы ветвления
Вводиться двузначное число. Определить, равен ли квадрат этого числа учетверенной сумме кубов его...

2
186 / 171 / 93
Регистрация: 13.06.2018
Сообщений: 708
27.08.2022, 11:04 2
C++
1
y=x<a1?1:(x<a2)?2:(x<a3)?3:4;
0
0 / 0 / 0
Регистрация: 30.06.2021
Сообщений: 25
27.08.2022, 13:51  [ТС] 3
Получается, что правильно будет вот так:
C
1
y=x<a1?1:(x<=a1||x<a2)?2:(x<=a2||x<a3)?3:4;
Я задал вопрос, думая, что есть вариант, где не происходит ни одно из условий и else там не уместен, но фактически, если не выполняются 3 первых условия, будет полюбому y=4, иначе 3. Сам себя запутал.
0
27.08.2022, 13:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2022, 13:51
Помогаю со студенческими работами здесь

Операторы ветвления С++
Дана точка на плоскости с координатами(x,y). Составить программу,которая выдает одно из сообщений...

Операторы ветвления
Если целое число m делится на целое число n, то вывести на экран частное от деления, в противном...

Операторы ветвления
Всем доброго времени суток, Знаю что программа элементарная, но помогите разобраться и исправить...

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

Операторы ветвления
Хелп плиз, два задания под номером 9

Операторы ветвления
Привет всем, надеюсь сможете помочь, так как только учусь с плюсами, интересны примеры кодов для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru