С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Артём Апрель
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
#1

Разложите пожалуйста по шагам выражение a^=b++==3?--c:b---c - C++

05.12.2013, 19:47. Просмотров 492. Ответов 11
Метки нет (Все метки)

Разложите пожалуйста по шагам выражение a^=b++==3?--c:b---c, в какой последовательности считать (приоритеты)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 19:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разложите пожалуйста по шагам выражение a^=b++==3?--c:b---c (C++):

Разложите пожалуйста по шагам выражение - C++
Разложите пожалуйста по шагам выражение a-=((b++>>2!=c)+1)|++c

Объясните пожалуйста логическое выражение - C++
#include<iostream> #include<conio.h> #include<cstring> using namespace std; int main(){ int nober=0;// количество слов bool...

Напишите,пожалуйста, это математическое выражение на С++ - C++
Напишите,пожалуйста, это выражение на C++ правильно

Разложите пожалуйста по шагам выражение a^=b++==3?--c:b---c - C (СИ)
Разложите пожалуйста по шагам выражение a^=b++==3?--c:b---c, в какой последовательности считать (приоритеты)

Разложите код по полочкам, пожалуйста - Python
Вот код, взятый с хабра из статьи "Визуализация каталогов на Python средствами NetworkX" def get_tree(tree=, G=nx.Graph(), itr= 0,...

Разложите ряд фурье пожалуйста - Математический анализ
Нужно разложить ряд фурье, задание прикреплено в картинке

11
gray_fox
05.12.2013, 20:58
  #2

Не по теме:

пробелов бы хоть добавил...

C++
1
a ^= ((b++) == 3) ? (--c) : ((b--) - c);

1
Артём Апрель
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
05.12.2013, 21:25  [ТС] #3
Цитата Сообщение от gray_fox Посмотреть сообщение

Не по теме:

пробелов бы хоть добавил...

C++
1
a ^= ((b++) == 3) ? (--c) : ((b--) - c);

а порядок какой будет?
получается если (b+1) равно 3, то (а) в степени (с-1), а если нет, то (а) в степени (b-1-c)? или как?
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
05.12.2013, 21:31 #4
Цитата Сообщение от Артём Апрель Посмотреть сообщение
получается если (b+1) равно 3
не (b + 1), а b. Постфиксный инкремент - сначала сам инкремент, потом возвращается старое значение.
Цитата Сообщение от Артём Апрель Посмотреть сообщение
в степени
^= - это не "степень", а побитовое xor (исключающее ИЛИ) с присвоением :/

Добавлено через 2 минуты
Вообще найти то несложно, например.
0
Kuzia domovenok
2078 / 1907 / 176
Регистрация: 25.03.2012
Сообщений: 6,574
Записей в блоге: 1
05.12.2013, 21:35 #5
Сначала Операторы просто повтори, что означают!
Не бывает оператора "возведение в степень"
и оператор ++ это не просто "плюс один"!

Добавлено через 1 минуту
Опздл,блн...
0
Артём Апрель
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
05.12.2013, 21:37  [ТС] #6
Цитата Сообщение от gray_fox Посмотреть сообщение
не (b + 1), а b. Постфиксный инкремент - сначала сам инкремент, потом возвращается старое значение.

^= - это не "степень", а побитовое xor (исключающее ИЛИ) с присвоением :/

Добавлено через 2 минуты
Вообще найти то несложно, например.
я что-то не сильно понимаю, программу написал, полностью выражение считает нормально, но нужно ещё по шагам его посчитать, а ответы разные выдаёт (полностью и по шагам), как именно посчитать вручную это выражение?
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
05.12.2013, 22:08 #7
Артём Апрель, я не знаю, как тебе объяснить, если ты не понимаешь, что делают операторы; вот "псевдокод", если поможет:
Код
// b++
oldB = b
b = b + 1

// (b++) == 3
if oldB == 3:
   // --c
   c = c - 1

   result = c
else:
   // b--
   oldB = b
   b = b - 1

   // (b--) - c
   result = oldB - c

// a ^= ((b++) == 3) ? (--c) : ((b--) - c)
temp = a ^ result
a = temp
1
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,254
05.12.2013, 22:13 #8
gray_fox,
а точно вот это
Цитата Сообщение от Артём Апрель Посмотреть сообщение
b---c
вот так разложится
Цитата Сообщение от gray_fox Посмотреть сообщение
((b--) - c)
а не
C++
1
b-(--c)
???
0
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
05.12.2013, 22:16 #9
ValeryS, у постфиксного -- приоритет выше, чем у -, я даже проверил)
1
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,254
05.12.2013, 22:20 #10
Цитата Сообщение от gray_fox Посмотреть сообщение
ValeryS, у постфиксного -- приоритет выше,
может быть
не люблю я эти головоломки
а главное смысл то какой?
0
gray_fox
05.12.2013, 22:24
  #11

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
а главное смысл то какой?
Видимо лень осмысленные задания придумывать, вот вам охтыжЁ*твоюмать-выражение, давайте поиграем в компилятор...

0
Артём Апрель
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 7
05.12.2013, 23:02  [ТС] #12
Цитата Сообщение от gray_fox Посмотреть сообщение
Артём Апрель, я не знаю, как тебе объяснить, если ты не понимаешь, что делают операторы; вот "псевдокод", если поможет:
Код
// b++
oldB = b
b = b + 1

// (b++) == 3
if oldB == 3:
   // --c
   c = c - 1

   result = c
else:
   // b--
   oldB = b
   b = b - 1

   // (b--) - c
   result = oldB - c

// a ^= ((b++) == 3) ? (--c) : ((b--) - c)
temp = a ^ result
a = temp
да, спасибо огромное, переделал под свой код, всё работает)
0
05.12.2013, 23:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2013, 23:02
Привет! Вот еще темы с ответами:

Разложите пожалуйста по полочкам код (не могу понять) - PHP
$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database); if ($connection->connect_error)...

Укажите пожалуйста как упростить выражение - Maple
Подскажите пожалуйста как упростить выражение: sqrt(15^(1/log(15))+49^(1/log(7))) Преподаватель к сожалению закидывает задачами но ни...

Пожалуйста, помогите упростить выражение по компьютерной дискретной математике - Логика и множества
Уравнение на фото. Должно быть в одну строчку написано, просто не вместилось.

Регистрация по шагам - jQuery
Помогите разобраться. Регистрация состоит из трёх шагов. На первом вводишь имя, фамилию и выбираешь группу. Как мне сделать, чтоб если одно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.