| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Выполнение преобразований с помощью деревьев |
| Автор: JleJluk 7.6.2006, 11:25 |
| Помогите пожалста, решить с следующую задачу. Задача свучит так: Даны 2 выражения. подсчитать количество вхождений первого выражения во второе в качестве подвыражения. Учесть коммутативность операций сложения и умножения. Программа дожна вводить и печатать выражения в исходном (текстовом) виде,преобразовывать их в деревья, выполнять заданные преобразования и печатать результаты в виде дерева и в текстовом представлении. |
| Автор: Linus 15.8.2006, 00:50 |
| По-моему эта классическая задача на рекурсивный разбор выражения. Если нужно печатать дерево в текстовом варианте то лучше динамически создавать взвешенное дерево и выводить его в файл "на боку", опять таки рекурсивно. |
| Автор: albertn 21.8.2006, 10:18 |
| Перевести в префиксную (постфиксную) форму записи, отсортировать по коммутативности (как нибудь, чтоб работало), а затем тупо подсчитать количество вхождений. Вывести на экран префиксную форму записи в виде дерева не составляет труда. |