Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
Уважаемые дамы и господа! Проблема вот в чем: допустим есть формула записанная пользователем в строку, нужно енту формулу распознать( плюсики, минусики, деление, умножение, exp(), синусики и т.д.) и подсчитать. Если у кого есть готовые алгоритмы на каком-либо языке(лучше VB, С++) не сочтите за труд помочь поставленной в тупик девушке. С уважением! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 19:47 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
В книге Шилдта "Полный справочник по C# есть простой пример парсинга "синтаксический анализ методом рекурсиного спуска". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2004, 23:29 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 17:03 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
КрасоткаУважаемые дамы и господа! Проблема вот в чем: допустим есть формула записанная пользователем в строку, нужно енту формулу распознать( плюсики, минусики, деление, умножение, exp(), синусики и т.д.) и подсчитать. Если у кого есть готовые алгоритмы на каком-либо языке(лучше VB, С++) не сочтите за труд помочь поставленной в тупик девушке. С уважением! При определённых правилах твоей игры возможен расчёт посредством объекта Excel.Application Смотри сама: 1. Открываешь Excel 2. Загоняешь свою строку в какую-либо ячейку в свойство Formula 3. Считываешь результат из свойства Value. 4. Если ошибка, то узнаёшь какая. 5. Закрываешь Excel Усё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 18:41 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
раз пошла в ход "тяжелая артиллерия" :) можно сгенерить код класса на VB.NET/C#, в котором вычисляется статический метод с исх. формулой (CodeDOM) откомпилировать его динамически (GenerateInMemory) в полученной сборке вызвать метод и получить результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2004, 19:23 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
>кузя Можно привести код этой "тяжелой артиллерии", если он не очень большой :-) плз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 06:21 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
к сожалению на VB кода нет, только на C# (переписывать - ошибок насажать) - законченное консольное приложение. подход, примерно везде одинаков - в рамках средств, предоставляемых MS :) "с синусиками и косинусиками" Код: 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. более полные и продвинутые примеры таких "калькуляторов" есть на www.codeproject.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2004, 07:19 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
еще как вариант, если с базой данных общаетесь то можно сделать так Select Sin(x)+sqrt(x)-58*x - sqrt(x); добавить параметр х выполнить запрос строку select можно формировать динамически из кода как угодно, основное чтобы синтиксис представления формул совпадал с sql`ым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2004, 20:21 |
|
||
|
Как распознать формулу из строковой переменной!
|
|||
|---|---|---|---|
|
#18+
2 crowler отличная мысль. можно использовать базу mdb (в случае чего - создавать пустую динамически через adox). а в jet'e со всякими функциями - богато :) и вычислять выражения через ExecuteScalar. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2004, 08:55 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=996&tid=1437981]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 424ms |

| 0 / 0 |
