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

Представление выражения в двоичном дереве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Односвязный список http://www.cyberforum.ru/cpp-beginners/thread34711.html
Доброй ночи! Вроде все написала правильно, прога должна читать из файла KR8+.txt и записывать один элемент в KR8.txt в конец списка... но этого не происходит! подскажите, пожалуйста, почему? ...
C++ Задачи на матрицы и структуры 4. Дана матрица размера M  N. Вывести ее элементы, расположенные в столбцах с нечетными номерами (1, 3, …). Вывод элементов производить по столбцам, условный оператор не использовать. 7. Дана... http://www.cyberforum.ru/cpp-beginners/thread34707.html
C++ создания функции my_printf()
помогите создать функцию my_printf(), типа printf(). Принцип действия тот же, но чтоб при визове my_printf() необходимое виводилось например красним цветом и шрифтом-курсивом. Если кто может помочь,...
C++ Visual Studio, приложения не запускаются
Есть одна проблема. Я раньше творил с CodeBlocks, а теперь решил попробовать в Visual Studio. Но ни одна моя прога не запускается пишет сообщение что не нашел путь d:\debug\проэкт\.exe Я так...
C++ Поменять соседние слова в строке местами http://www.cyberforum.ru/cpp-beginners/thread34653.html
Доброе всем время суток. Есть такая задачка. Вроде несложная, но написать что-то не получается. Поменять слова в сообщении по принципу: второе с первым, четвёртое с третьим и т. д. #include...
C++ матрица Задание: Для заданной матрицы размером 8 на 8 найти такие k, что k-ая строка матрицы совпадет с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18377 / 6424 / 441
Регистрация: 30.03.2009
Сообщений: 17,822
Записей в блоге: 28
18.05.2009, 21:12
Тебе нужно сделать так называемые локальные преобразования.

Для начала возьмём простой пример: 2+2. Ты имеешь узел + и подвешенные к нему два узла с константами. В этом случае эту конструкцию ты сворачиваешь в один узел - константу, которая есть значение выражения (в данном случае 2+2). Для удобства построения более сложных вычислений заодно можно привести все узлы с ассоциативной операцией (т.е. где от перестановки аргументов результат не меняется - плюс и умножить) к виду, чтобы константа была вторым слагаемым

Более сложный случай - это когда к операции на один операнд подвешена константа, а на другой - операция с двумя константами. Тут надо в лоб анализировать все случи типа:
(VAR + CONST1) + CONST2 преобразуем в VAR + (CONST1 + CONST2), после чего сложение констант у тебя свернётся предыдущим правилом
(VAR * CONST1) / CONST2 -> VAR * (CONST1/CONST2)
и так далее
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.