Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2017, 09:20   #1
Korban
Пользователь
 
Регистрация: 02.11.2016
Сообщений: 26
По умолчанию Определить, есть ли совпадающие числа в дереве - Pascal ABC

Задание:
Вводится последовательность целых чисел. Определите, есть ли в этой последовательности совпадающие числа. Решить задачу с помощью дерева.

Создал процедуру для генерация дерева и вывода. Нужна функция для поиска совпадающих чисел в дереве.
Код:
Type
PNode=^Node;
 Node=record
   data:integer;
   left,right:PNode;
end;
 
Var
  Tree:PNode;
 
Procedure GenTree (var Tree:PNode;level:integer);
var
p,q:integer;
n:PNode;
begin
 if level<3 then
   begin
   P:=100;
   q:=100;
   end
   else
   begin
   p:=random(100);
   q:=random(100);
   end;
   new(n);
   n^.data:=random(100);
   Tree:=n;
   if p>60 then
   gentree(Tree^.left,level+1)
   else
   Tree^.left:=nil;
   if q>60 then
   gentree(Tree^.right,level+1)
   else
   Tree^.right:=nil;
   end;
 
Procedure Show(Tree:PNode;level:integer);
var i:integer;
begin
  if Tree<>nil then
  begin
  show(Tree^.left,level+1);
  for i:=1 to level do write('  ');
  writeln('  ',Tree^.data);
  show(Tree^.right,level+1);
  end;
end;
 
Begin
GenTree(Tree,1);
writeln('Дерево: ');
Show(Tree,1);
end.
Korban вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все трехзначные числа, квадраты которых оканчиватюся тремя цифрами, которые и составляют искомые числа (на ABC pascal) Роял Паскаль, Turbo Pascal, PascalABC.NET 4 29.01.2015 21:09
Даны натуральное число n и целые числа A1..An. Выяснить, есть ли среди чисел А1..Аn совпадающие. динамическая память (Паскаль) zirka96 Помощь студентам 3 12.05.2014 16:59
определить оптовую цену костюма(pascal ABC) программирование Паскаль, Turbo Pascal, PascalABC.NET 1 08.05.2013 08:20
определить оптовую цену (pascal ABC) программирование Помощь студентам 1 02.05.2013 10:18
Задача на Pascal ABC: Два трёхзначных числа a и b. В интервале от a до b все числа, сумма цифр которых кратна 3, выдать зеркально Andrew5674 Помощь студентам 5 16.04.2013 23:00