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

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

Войти
Регистрация
Восстановить пароль
 
Свидуботаник
1 / 1 / 0
Регистрация: 03.11.2013
Сообщений: 78
#1

Решаем уравнение - C++

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

дано:
х=2
q=4

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

сначала перевожу все в двоичный код получаю:
x=2=0010
q=4=0100
ставим по своим местам: http://www.cyberforum.ru/cgi-bin/latex.cgi?0100=(++0100\wedge 0010<<1)|(0100&0010++)
иии начинаем злодействовать... первым действием как я понимаю идет увеличение значения в левой скобке на ++0100 получаем 5 или 0101 следующим действием по приоритету идет сдвиг кода влево на 1 и мы получаем 0100 или 4; третье действие http://www.cyberforum.ru/cgi-bin/latex.cgi?0101\wedge0100 и получаем 0001 или 1
считаем правую скобку:
первым по приоритету стоит действие & т.е. 0100&0010 и получаем полный 0 увеличиваем на 1 получаем 0001 далее выполняем | между скобками и получаем 0001
фигня какая-то как 1 равен 4?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 00:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решаем уравнение (C++):

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

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

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

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

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

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

10
Jewbacabra
Эксперт PHP
2658 / 2245 / 845
Регистрация: 24.04.2014
Сообщений: 6,747
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
Jewbacabra
Эксперт PHP
2658 / 2245 / 845
Регистрация: 24.04.2014
Сообщений: 6,747
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
Jewbacabra
Эксперт PHP
2658 / 2245 / 845
Регистрация: 24.04.2014
Сообщений: 6,747
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
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
16.06.2014, 22:05 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
посмотри внимательно на printf
1
Jewbacabra
Эксперт PHP
2658 / 2245 / 845
Регистрация: 24.04.2014
Сообщений: 6,747
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
Jewbacabra
Эксперт PHP
2658 / 2245 / 845
Регистрация: 24.04.2014
Сообщений: 6,747
16.06.2014, 23:20 #11
Цитата Сообщение от Свидуботаник Посмотреть сообщение
\n
\n - перевод строки.
0
16.06.2014, 23:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2014, 23:20
Привет! Вот еще темы с ответами:

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

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

Посоветуйте как лучше. Решаем задачку - C#
Прочитал на хабре статейку, и в ней увидел интересную задачку. «Количество лилий в пруду каждый день увеличивается в два раза. В...

где записывать массив, когда решаем с помощью модуля. - Pascal
в описании переменных мне нужно описать массив, программа решается через модуль, там где описывается процедура мне нужно описать массив...


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

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

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