1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
1

Решаем уравнение

16.06.2014, 00:53. Показов 1026. Ответов 10
Метки нет (Все метки)

дано:
х=2
q=4

функция:
https://www.cyberforum.ru/cgi-bin/latex.cgi?q=(++q\wedge x<<1)|(q&x++)

сначала перевожу все в двоичный код получаю:
x=2=0010
q=4=0100
ставим по своим местам: https://www.cyberforum.ru/cgi-bin/latex.cgi?0100=(++0100\wedge 0010<<1)|(0100&0010++)
иии начинаем злодействовать... первым действием как я понимаю идет увеличение значения в левой скобке на ++0100 получаем 5 или 0101 следующим действием по приоритету идет сдвиг кода влево на 1 и мы получаем 0100 или 4; третье действие https://www.cyberforum.ru/cgi-bin/latex.cgi?0101\wedge0100 и получаем 0001 или 1
считаем правую скобку:
первым по приоритету стоит действие & т.е. 0100&0010 и получаем полный 0 увеличиваем на 1 получаем 0001 далее выполняем | между скобками и получаем 0001
фигня какая-то как 1 равен 4?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2014, 00:53
Ответы с готовыми решениями:

Решаем задачу вместе
Здравствуйте... У меня подруга сдаёт курсовую.... 1 курс C++ И попросила ей сделать задание... ...

Дано уравнение ax2+bx+c=0. Решить уравнение, результат вывести на экран.
Здравствуйте. Завтра зачет, нужно сдать две программы на с++, как их писать у меня весьма смутное...

Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена
Создать абстрактный базовый класс уравнение с виртуальной функцией - корни уравнения. Создать...

18. Написать программу, которая решает уравнение с одним неизвестным и выводит в консоль значение неизвестного. Уравнение посимвольно вводится с клави
#include &lt;iostream&gt; using namespace std; void main() { int urov1 = 0; int urov2 = 0; int...

10
Эксперт PHP
4782 / 3808 / 1583
Регистрация: 24.04.2014
Сообщений: 11,162
16.06.2014, 01:31 2
Цитата Сообщение от Свидуботаник Посмотреть сообщение
первым по приоритету стоит действие & т.е. 0100&0010 и получаем полный 0 увеличиваем на 1 получаем 0001
приоритет постфиксного инкремента выше. Увеличен будет x, но в вычислении используется старое значение. потом вычисляем 4&2 получаем 0. потом вычисляем 1|1 и получаем q=1 x=3
Цитата Сообщение от Свидуботаник Посмотреть сообщение
фигня какая-то как 1 равен 4?
а кто это сказал? результат вычисленного выражения записывается в q и в q будет записано 1

вообще как мне кажется пример не очень хороши, так как тут UB - не ясно какое q будет использовано во 2 скобке (старое 4 или новое 5), но на результат при данных значениях q и x это не влияет, т.к. 5&2=0 и 4&2=0.
если я не прав, прошу меня поправить.
1
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
16.06.2014, 01:42  [ТС] 3
как получаем 1и3? откуда они берутся?
0
Эксперт PHP
4782 / 3808 / 1583
Регистрация: 24.04.2014
Сообщений: 11,162
16.06.2014, 01:43 4
Цитата Сообщение от Свидуботаник Посмотреть сообщение
как получаем 1и3? откуда они берутся?
q=1 как результат вычисления того, что находится справа от знака =. x=3 из x++
1
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
16.06.2014, 01:52  [ТС] 5
т.е. q стоящее перед знаком "=" и q в скобках это разные q? если так, то странная математика выходт
0
Эксперт PHP
4782 / 3808 / 1583
Регистрация: 24.04.2014
Сообщений: 11,162
16.06.2014, 02:00 6
Свидуботаник, в программировании = (присваивание) отличается от = (равно) в математике
C
1
2
int q=0;
q = 1 + q;
С точки зрения математике это уравнение относительно q которое не имеет решений.
В программировании это следует понимать как: вычислить значение равное 1 + значение в ячейке памяти q ; и записать полученный результат в ячейку памяти q
1
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
16.06.2014, 22:00  [ТС] 7
написал такой код по этой теме глянь пожалуйста
#include<cmath>
#include<iostream>
int main ()
{
int x,q;
x=2;
q=4;
q=(++q^x<<1)|(q&x++);
printf("%i",x,q);
getchar();
return (0);
}
почему-то выводит только 3 а другое значение замалчивает
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
16.06.2014, 22:05 8
Лучший ответ Сообщение было отмечено Свидуботаник как решение

Решение

посмотри внимательно на printf
1
Эксперт PHP
4782 / 3808 / 1583
Регистрация: 24.04.2014
Сообщений: 11,162
16.06.2014, 22:14 9
Лучший ответ Сообщение было отмечено Свидуботаник как решение

Решение

Цитата Сообщение от Свидуботаник Посмотреть сообщение
printf("%i",x,q);
C++
1
printf("q=%d; x=%d\n", q, x);
Добавлено через 1 минуту
но если так:
C++
1
#include<iostream>
то еще лучше:
C++
1
std::cout << "x=" << x << "; q=" << q << std::endl;
1
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
16.06.2014, 22:29  [ТС] 10
спасибо очень помогли. только начал изучать привык все по шаблону делать никак не могу отойти от этой темы пока голова не хочет искать решений. printf поправил так: printf("x=%d, q=%d",x,q). Зачем синим
Цитата Сообщение от Jewbacabra Посмотреть сообщение
\n
?
0
Эксперт PHP
4782 / 3808 / 1583
Регистрация: 24.04.2014
Сообщений: 11,162
16.06.2014, 23:20 11
Цитата Сообщение от Свидуботаник Посмотреть сообщение
\n
\n - перевод строки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2014, 23:20
Помогаю со студенческими работами здесь

Написать программу, которая решает уравнение с одним неизвестным и выводит в консоль значение неизвестного. Уравнение посимвольно вводится с клавиатур
Заупутался :-(

Решаем программы, пишем собственные модули и функции
Решаем программы, пишем собственные модули и функции. Давайте в этой теме будем писать совместно...

решаем задачу по 3d точкам
имеются 2 группы массивов для построения 3d точек x= y= z= x2= y2= z2=

решаем мат пример
Ребята, помогите разобраться с формулой, что вводим что выводим...в формате html... ничего не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru