![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2004
Сообщений: 3
|
Подкиньте пожалуйста идею.
есть стринг, типа "y=3*x+5" То есть функция. Как сделать так, чтобы этот стринг превратился в настоящую функцию - выражение, готовую к расчётам? Скажем, что-бы я делал иксу риплейс на число, и на выходе получал-бы игрек - число? Спасибо |
|
|||||
|
Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
|
прототипы юзать?
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Задачу дают приматам на первом курсе. Строку надо разложить в какую-то там форму записи, вроде как 5+3*x => 3,x,*,5,+ а потом доставать по элементу и смотреть: если операнд - складывать в стек, а если операция - выполнять действия над двумя последними операндами в стеке и результат класть туда же. до начала выполнения поменять в очереди все переменные на их значения - и вперед.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
[++]
|
Если тебе нужно на уровне + и *, то можно разбить в массив по знакам - и +, затем умножать или делить.
|
|
|||||
|
Регистрация: Nov 2001
Адрес: spb.ru
Сообщений: 177
|
|
|
|||||
|
Регистрация: Jul 2004
Сообщений: 3
|
Thank's to everybody!
|
![]() |
Часовой пояс GMT +4, время: 23:02. |
|
|
« Предыдущая тема | Следующая тема » |
|
|