|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
|
Написать парсер математических выражений с функцией упрощения этих выражений29.08.2016, 08:27. Показов 4412. Ответов 27
Метки нет (Все метки)
Люди, здравствуйте.
Есть такая задача: написать упроститель выражений. На вход подается строка вида "a*b+a*c", являющаяся корректным математическим выражением. Надо упростить его. Как решить, объяснять не буду. Однако, все же будет предпочтительнее, чтобы вы реализовывали через классы (каждая операция - это класс, наполненный своими методами). В чем суть: суть в том, чтобы посмотреть, как вы решите одну проблему. Какую? Если вы читали мои предыдущие темы - то вы может даже и знаете, в чем проблема. PS: дурацкое правило не писать в заголовке определенные слова.
0
|
|
| 29.08.2016, 08:27 | |
|
Ответы с готовыми решениями:
27
Парсер математических выражений Парсер для математических выражений |
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
|
| 29.08.2016, 10:18 [ТС] | |
|
Если я буду объяснять - то получится, что будет мое решение. А мне хочется посмотреть, как люди сами приходят к возникающим проблемам - тогда ко мне не будет никаких претензий, мол это я такое кривое решение придумал.
0
|
|
| 29.08.2016, 14:15 | |
|
Когда писал на своем интерпретаторном Лиспе (с закадровой сборкой мусора и безо всяких классов) символьное дифференцирование, сделал также и симплифайер - чтобы не тащить нулевые слагаемые/единичные сомножители и т.п. Вся программа - несколько строк, банальное перечисление кейсов упрощения с рекурсивным вызовом. Сути проблемы не заметил
0
|
|
|
|
|
| 29.08.2016, 14:20 | |
|
Vhodnoylogin, я только одного не пойму, вы решили задачу или нет?
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 29.08.2016, 14:24 | ||
|
HighPredator, вам же сказано решать. Зачем вы задаете лишние вопросы? Просто решайте.
0
|
||
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
|
| 29.08.2016, 14:24 [ТС] | |
|
HighPredator, решил. Однако решение мне не нравится.
И хочу, чтобы другие тоже на граблях потанцевали.
0
|
|
|
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
|
||
| 29.08.2016, 14:26 | ||
|
По крайней мере мои коллеги так делают. А иногда с помошью MS Office или Libre Office.
0
|
||
| 29.08.2016, 14:28 | |
|
0
|
|
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
||
| 29.08.2016, 14:31 [ТС] | ||
|
И да, я не знаю, что там надо вычислять. Там выражение из букв состоит, и его надо упрощать. Как это будет делать ДжэС - я не знаю.
0
|
||
|
|
||
| 29.08.2016, 14:34 | ||
|
0
|
||
| 29.08.2016, 14:35 | |
|
Vhodnoylogin, чтобы тема имела хоть какой-то смысл, приведите несколько по-возможности показательных примеров, как должно производиться упрощение. Например ab+ac => a(b+c) - это упрощение? А \x -> x*a + b => (+b).(*a) - это упрощение? Ах, вы не знаете что это такое? Тогда см. п. 1 - приводите примеры.
0
|
|
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
|
| 29.08.2016, 14:39 | |
|
Vhodnoylogin, для начала скинули бы хоть свой код, глянуть, а то выходит так, что сделано у вас все только на словах, потом кто то пришлет решение и вы такой,а ну и я так делал и возьмете себе в своих целях, здесь люди не прочь помочь, но для начала покажите хотя бы ваше
0
|
|
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
|
| 29.08.2016, 14:41 [ТС] | |
|
obivan, все уже давно сделано, а мне интересно - как вы будете решать проблему множественной диспетчеризации. Или как ее обойдете.
0
|
|
|
704 / 109 / 21
Регистрация: 22.06.2014
Сообщений: 241
|
|
| 29.08.2016, 14:47 | |
|
>Как решить, объяснять не буду
>чтобы вы реализовывали ---------------------------------------- Лично тут я стал теряться в догадках: проблема у нас или у тебя? >суть в том, чтобы посмотреть, как вы решите одну проблему. ---------------------------------------- Попкорна достаточно купил, чтобы наслаждаться просмотром? >тогда ко мне не будет никаких претензий, мол это я такое кривое решение придумал. ---------------------------------------- В конце не надо хоть будет нести зачётку для отметки твоему преподу, который тебе задал это задание? Или академическую задолженность придётся за неправильное решение идти за тебя сдавать?
3
|
|
|
Администратор
|
||
| 29.08.2016, 14:51 | ||
|
Vhodnoylogin, правило 4.7 видели?
0
|
||
| 29.08.2016, 14:51 | ||||
![]() Тогда не надо выкладывать свой код - там лапша будет.
0
|
||||
|
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
|
||
| 29.08.2016, 14:55 [ТС] | ||
|
Добавлено через 34 секунды Ну, я погляжу, народ тут боится множественной диспетчеризации. Поэтому и делать не хочет.
0
|
||
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
||
| 29.08.2016, 14:58 | ||
|
Vhodnoylogin,
0
|
||
| 29.08.2016, 14:58 | |
|
Помогаю со студенческими работами здесь
20
Парсер математических выражений - можно ли оптимизировать и улучшить код Парсер математических выражений на с++ визуал студио 2013 в windows forms перевести в обратную пз Парсер математических выражений Парсер математических выражений Парсер математических выражений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|