![]() |
|
|
#1
|
|||
|
|||
|
Heoбхoдимо построить дpeвo вырaжeния по своим правилам, выражение содeржт символы * и +.
Скажите пожалуйста, с чего начать? Использовать компоненты TrerView? Какой наиболее простой путь? |
|
#2
|
|||
|
|||
|
Мне бы как нибудь в этой задаче разобраться ...только как?
|
|
#3
|
||||
|
||||
|
Цитата:
Пожалуй начни с теории. |
|
#4
|
|||
|
|||
|
А что тебе надо сделать?
Пусть у тебя есть некоторое математическое выражение, состоящее из цифр и знаков + и * Тогда тебе нужен некоторый класс, выглядящий примерно так: Код:
type
TOperation = class
Op1 : TOperation;
Op2 : TOperation;
OpType : Char;
constructor Create(Data : String);
destructor Destroy;
end;Здесь Op1, Op2 - операнды (слева и справа от знака), OpType - сама операция, параметр конструктора - исходная строка. Конструктор должен разобрать строку, выделит текущую операцию, запомнить ее и создать еще 2 класса Op1 и Op2, куда в конструктор передать части исходной строки. Destroy соответственно, уничтожает дерево. Ну и можно добавить процедуру вычисления, которая собственно и вычислит по дереву результат. Может немного путано, но попробуй въехать и понять. |