Привет, ребята!
Совсем замучилась с двумя задачами.
1) описать процедуру, проверяющую на равенство два дерева (деревья равны, если ключи и записи вершин одного дерева соответственно равны ключам и вершинам второго);
2) на стоянке стоят автобомили с номерами 1212,3451,7694,4512,4352,8732,7326,2350,4536,2387,5746,6776,4316,1324; для сатистики нужно составить список автомобилей с такими номерами, что сумма двух первых цифр равна сумме двух послдних, так, чтобы каждый следующий номер был меньше предыдущего (нужно воспользоваться деревом бинарного поиска).
Знаю, что надо было попробовать решать самой, но преподавателем совершенно не были освещены эти темы Могу только проводить над деревьями простейшие операции, а в этом полный ноль...
Plz, помогите
Заранее спасибо.
Volvo, спасибо!
Теперь надо попробовать убедить препода в том, что тут удобнее работать с функцией... Слишком уж она упрямая...
procedure isEqual(var equal: boolean; p1, p2: ttree);
var b_left, b_right: boolean;
begin
if (p1 = nil) and (p2 = nil) then equal := true
else if (p1<>nil) and (p2<>nil)
then begin
isEqual(b_left, p1^.left, p2^.left);
isEqual(b_right, p1^.right, p2^.right);
equal := (p1^.data = p2^.data) and b_left and b_right
end
else equal := false
end;
Volvo, ещё раз спасибо