|
|
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
Может кто сталкивался. Нужен алгоритм, убирающий скобки а выражениях. на входе строки, например 1. ((tax1+cost*count)+d) 2. (a+b)+(c+d) +e(f+g) и.т.д. Нужено упростить выражение- убрать незначащие скобки. получить для 1. ((tax1+cost*count)+d)=tax1+cost*count+d 2. (a+b)+(c+d) +e(f+g)=a+b+c+d +e(f+g) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 10:50:41 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
типа так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. у меня вроде бы есть готовое, тока для однобуквенных переменных (что не проблема) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:37:45 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
Взглянуть можно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:40:58 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
поиск "Обратная польская запись" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 12:09:07 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
ОПЗ не проходит. Да, скобок там нет, но приоритеты остаются теже. Что при построении дерева разбора мне не нужно. Мне надо убрать лишние скобки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 12:13:12 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
foxwizardОПЗ не проходит. Да, скобок там нет, но приоритеты остаются теже. Что при построении дерева разбора мне не нужно. Мне надо убрать лишние скобки. у меня вроде на паскале... пойдет? (саму идею алгоритма надо вспоминать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 12:58:50 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
конечно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 13:00:21 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
Это я когда-то делал вот под эту таску: http://www.spoj.pl/problems/CMEXPR/ Код корректен на 100%. В принципе, он не чувствителен к "многобуквенности" переменных, но кое-где затыкается Например на ((a+www)/(uuu)). Выдает (a+www)/(uuu). Если всё односимвольно, то Ок. Где надо поправить вижу, но как слету не соображу Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 14:34:04 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 14:47:12 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
foxwizard пишет: > Может кто сталкивался. > Нужен алгоритм, убирающий скобки а выражениях. > на входе строки, например Можно порекомендовать более общий алгоритм - алгоритм Дейкстры по переводу в обратную польскую запись. На algorithm.ru кажется он есть. Потом восстановить выражение с минимальными скобками по обратной польской записи не сложно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 16:41:55 |
|
||
|
Убрать скобки в выражении
|
|||
|---|---|---|---|
|
#18+
MasterZiv На algorithm.ru кажется он есть. да там собсно и алгоритма как бы нет :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Под эту: spoj SPOJ Problem Set 4. Transform the Expression Problem code: ONP Transform the algebraic expression with brackets into RPN form (Reverse Polish Notation). Two-argument operators: +, -, *, /, ^ (priority from the lowest to the highest), brackets ( ). Operands: only letters: a,b,...,z. Assume that there is only one RPN form (no expressions like a*b*c). Input t [the number of expressions <= 100] expression [length <= 400] [other expressions] Text grouped in [ ] does not appear in the input file. Output The expressions in RPN form, one per line. Example Input: 3 (a+(b*c)) ((a+b)*(z+x)) ((a+t)*((b+(a+c))^(c+d))) Output: abc*+ ab+zx+* at+bac++cd+^* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 18:04:44 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35667659&tid=1344831]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 516ms |

| 0 / 0 |
