Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.221.116] |
|
Сообщ.
#1
,
|
|
|
Всем хай! Сходу к делу!
Есть такая задачка: дано выражение в инфиксной нотации и нужно получить ПРЕфиксную нотацию. Один из алгоритмов, как я понял такой: 1. Берез заданное выражение в инфиксе и переворачиваем его (пример: x+y*3 ---> 3*y+x) 2. Получаем ОПЗ, т е постфикс ( 3*y+x --> 3y*x+) 3. Опять переворачиваем (3y*x+ ---> +x*y3) Готово!) Ответ: +x*y3 Этот алгоритм нормальный для получения префикса из инфикса или есть свой вариант, так сказать, без промежуточного преобразования в ОПЗ. спс за внимание |
Сообщ.
#2
,
|
|
|
Я когда-то очень давно, ещё под DOS, на QuickBasic писал калькулятор, который умел считать сложные выражения. Фактически, выполняется вся нужная работа.
Могу поискать исходники, надеюсь, сохранились. |
Сообщ.
#3
,
|
|
|
Цитата Mikle @ Могу поискать исходники, надеюсь, сохранились. спс, не нужно), тем более на Бэйсике) сам напишу прожки преобразования эти тут главное алгоритмы чтобы были правильные) этот алгоритм перевода из инфикса в префикс вроде легкий и работающий + по получению ОПЗ куча информации, в отличие от префиксной формы |
Сообщ.
#4
,
|
|
|
на Cyberforum в алгоритмах выкладывал код на базе расчета обратной польской нотации (постфиксной) за 3 недели - 0 просмотров, не сильно популярный ресурс наверное)
Выкладываю здесь решение по переводу инфиксной нотации в ОПН (постфиксную) и расчет выражения как из инфиксной так и из постфиксной на VBA Думаю, что перевод в префиксную не сложным будет, почитаю Прикреплённый файлIF2RPN.rar (30,41 Кбайт, скачиваний: 53) |