serbanov Ответов: 1

C-алгоритм с операндами


Hello,

I have an issue, i have a string, e.g: `"!!!T&(!F)"` and i want those operations to be executed and the output should be in a variable which i will show in console.

Any idea how could i do that??
T = true ( a constant defined by me ) 
F = false ( same as T )
R = result ( the variable where i want the output)


Что я уже пробовал:

Ну, я застрял в этом пункте, я не знаю, как мне к нему подойти. Я жду предложений, способов ее решения..

1 Ответов

Рейтинг:
2

Ravi Bhavnani

То, что вы пытаетесь сделать, - это оценить логическое выражение.  Чтобы сделать это, вы должны сначала определить простую грамматику для семейства выражений, которые вы хотите иметь возможность анализировать (ваш пример-только одно такое выражение), затем построить дерево синтаксического анализа из входной строки или, по крайней мере, преобразовать имеющееся у вас инфиксное выражение в RPN (обратная польская нотация).  Как только вы это сделаете, вы можете использовать простую стековую машину для выполнения формы RPN выражения.

Если это не имеет для вас никакого смысла, вы откусили больше, чем можете прожевать (на данный момент), и я предлагаю почитать книгу Дейкстры. Алгоритм маневрового двора[^]. Это не так уж сложно, как только вы поймете, как это работает.

/ Рави