Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Выполнение преобразований с помощью деревьев


Автор: JleJluk 7.6.2006, 11:25
Помогите пожалста, решить с следующую задачу.

Задача свучит так:
Даны 2 выражения. подсчитать количество вхождений первого выражения во второе в качестве подвыражения. Учесть коммутативность операций сложения и умножения.
Программа дожна вводить и печатать выражения в исходном (текстовом) виде,преобразовывать их в деревья, выполнять заданные преобразования и печатать результаты в виде дерева и в текстовом представлении. 

Автор: Linus 15.8.2006, 00:50
По-моему эта классическая задача на рекурсивный разбор выражения. Если нужно печатать дерево в текстовом варианте то лучше динамически создавать взвешенное дерево и выводить его в файл "на боку", опять таки рекурсивно.

Автор: albertn 21.8.2006, 10:18
Перевести в префиксную (постфиксную) форму записи, отсортировать по коммутативности (как нибудь, чтоб работало), а затем тупо подсчитать количество вхождений. Вывести на экран префиксную форму записи в виде дерева не составляет труда.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)