| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > [Lisp] Нужна помощь в решении задачи |
| Автор: Tielvar 5.12.2008, 14:04 | ||||||
| Всем привет Сабж: Надо посчитать среднее арифметическое листьевых вершин бинарного дерева. Узел хранит целое число и два поддерева. Я так прикинул, прийдётся задачу решат ьв два захода - сначала узнать сумму значений в листьевых вершинах, затем узнать их количество, и поделить результаты. То есть имеем три функции. Первая, считает сумму значений в листьях:
Вторая - количество листьев:
Третья, типа мейн:
Причем ни одна функция не работает :((( Помогите пожалуйста. |
| Автор: adejneka 6.12.2008, 10:23 | ||||
| Проблема состоит в том, что бы четко определиться с представлением дерева. Одно правило есть: 2. Дерево-узел - это список ``(VAL LEFT RIGHT)'', где VAL - число ("значение узла"), LEFT и RIGHT - деревья. Нужно еще основание рекурсии. Я предлагаю такое: 1. Пустое дерево - это символ NIL (= пустой список). Можно определить вспомогательные функции для проверки на пустоту, лист.
|
| Автор: Tielvar 22.12.2008, 17:59 | ||
Спасибо за помощь. Вот что в результате у меня вышло:
|
| Автор: FlashSk 1.2.2010, 17:41 |
| Помогите решить задачи: 1) Написать функцию, которая по заданому целому числу формирует список двох елементов. Первый елемент списка - ето символьный атом, что обозначает знак числа, второй елемент – остаток от деления числа на 2. 2) Написать функцию, которая для заданних списков lst1 і lst2 возвращает список, который содержит их первые и последние елементи. Порядок прохождения елементов в результуючем списке опредиляется вторым елементом lst2: если ето число, то сначала идуть первый и последний елементи lst1, иначе – первый и последний елементи lst2. 3) Написаьи функцию, которая по двох числах формирует список с трех елементов. Первый елемент – ето результат целочисельнного распредиления чисел, другой єсть результат множения чисел, третий елемент єсть символьный атом, что обозначает знак числа. Функция должна иметь проверку деления на ноль! |
| Автор: k0rvin 4.2.2010, 00:35 | ||
|