![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
Есть код (писался давно, возможно не мною). Смысл его в обработке текстовой строки формулы. Функция упрощает формулу. выносит общие множители за скобки, потом объединяет одинаковые слагаемые в скобках
Все это относительно неплохо работает когда это сумма попарно перемноженых элементов Например выражание : "0,3*28,22+0,3*28,22+0,3*28,22" корректно обрабатывает в 0,3*(3*28,22) А вот если выражение чуть сложние (множителей больше) уже ничего не получается ![]() "0,17*15*0,57+0,17*5,5*0,62+0,17*3* 0,75" а должно бы получится 0,17*(15*0,57+5,5*0,62+3*0,75) Как исправить код чтобы работало вот с такими выражениями (когда перемножаемых чисел три, а не два ) ? Код:
|
![]() |
![]() |
![]() |
#2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
Железно в каждом слагаемом есть множитель которого можно вынести за скобки?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
Почти 99%.
более того как правило это слагаемое первый множитель. |
![]() |
![]() |
![]() |
#4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]() Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. Последний раз редактировалось Aleksandr H.; 08.06.2017 в 10:24. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
здравствуйте. выглядит шикарно, но валится вот на таком стринге
"0,14*5,5*0,62+0,17*11*0,54+0,17*11 *0,54+0,14*7,5*0,67" а вот он же полностью Код:
|
![]() |
![]() |
![]() |
#6 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
Значит надо посмотреть
![]() Вижу 0,14 потерялось
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. Последний раз редактировалось Aleksandr H.; 08.06.2017 в 11:31. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]() Код:
Результат EXAMPLE (0,14*5,5*0,62+0,17*11*0,54+0,17*11 *0,54+7,5*0,67) т.е почти тоже самое только без посл. 0,14 хотя должно было бы быть "0,14*(5,5*0,62+7,5*0,67)+0,17*(11* 0,54+11*0,54)" а в идеале даже "0,14*(5,5*0,62+7,5*0,67)+0,17*(2*1 1*0,54)" |
![]() |
![]() |
![]() |
#8 | ||
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]() Цитата:
Цитата:
Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
||
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]() Цитата:
![]() все равно огромное спасибо за помощь - будем сражаться дальше ![]() |
|
![]() |
![]() |
![]() |
#10 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
железно, что в выражении написанном пользователем может быть что угодно! проанализируйте, есть - выносите, нет - оставьте все как есть я так понимаю на входе - арифметическое выражение состоящее из чисел, пробелов, скобок и знаков арифметических действий на выходе нужно получить тождественное выражание, но записанное более компактно! удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проект Delphi, обработка формул и постоение графиков. | Wolfiron | Общие вопросы Delphi | 4 | 05.04.2014 11:16 |
написать программу.Определить, корректно ли расставлены в строке круглые и квадратные скобки. Скобки могут быть вложенными | цезарь | Общие вопросы по Java, Java SE, Kotlin | 3 | 22.06.2013 01:29 |
Составление рекуррентного множителя | Logannn | Помощь студентам | 0 | 28.12.2012 01:55 |
Обработка запрсов содержащих скобки для ADO.Query | sergey113 | Помощь студентам | 1 | 26.05.2011 12:37 |
нахождение наибольшего общего делителя и наименьшего общего кратного | made in russia | Помощь студентам | 2 | 21.12.2008 23:36 |