описать логическую функцию same(t), определяющую, есть ли в дереве T хотя бы два одинаковых элемента. Дерево бинарное.
Вот кое-что нашёл. Помогите это всё объединить в нормальную работающюю программу.
{ поиск элемента в дереве }
function Same(root:TreePointer;key:DataItem):boolean;
begin
  Same:=false;
  if root<>nil then
  begin
    while (root^.data<>key) and (root<>nil) do
    begin
      if key<root^.data then 
        root:= root^.left
      else 
        root := root^.right;
    end;
  end;
  if root=nil then
    exit;
  if root^.left<>nil then
    if root^.left^.data=key then
      Same := true;
  if root^.right<>nil then
    if root^.right^.data=key then
      Same:=true;
end; { конец функции поиска элемента }
 вот примерное описание типов TreePointer и DataItem:
type
DataItem=integer;
TreePointer = ^tree;
tree = record
data: DataItem;
left: TreePointer;
right:TreePointer;
end;

 


 
  
        	





