![]() |
|
#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 соответственно, уничтожает дерево. Ну и можно добавить процедуру вычисления, которая собственно и вычислит по дереву результат. Может немного путано, но попробуй въехать и понять. |