0 / 0 / 0
Регистрация: 30.06.2021
Сообщений: 28

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

27.08.2022, 10:40. Показов 929. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2022, 10:40
Ответы с готовыми решениями:

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

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

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

2
Заблокирован
27.08.2022, 11:04
C++
1
y=x<a1?1:(x<a2)?2:(x<a3)?3:4;
0
0 / 0 / 0
Регистрация: 30.06.2021
Сообщений: 28
27.08.2022, 13:51  [ТС]
Получается, что правильно будет вот так:
C
1
y=x<a1?1:(x<=a1||x<a2)?2:(x<=a2||x<a3)?3:4;
Я задал вопрос, думая, что есть вариант, где не происходит ни одно из условий и else там не уместен, но фактически, если не выполняются 3 первых условия, будет полюбому y=4, иначе 3. Сам себя запутал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.08.2022, 13:51
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
C++26: Индексирование пакетов и метапрограммиро­вание
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru