Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Alkcatras
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 31
#1

Проверить, есть ли в непустом дереве хотя бы два одинаковых элемента - Turbo Pascal

31.03.2012, 11:37. Просмотров 596. Ответов 0
Метки нет (Все метки)

Описать логическую функцию проверяющую есть ли в непустом дереве хотя бы два одинаковых элемента

помогите переделать программу так как сказано выше........

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
program Lana6;
type pnode=^node;
node=record
strana:string[30];
stolica:string[30];
ploshad:real;
left:pnode;
right:pnode;
end;
var root:pnode;
i:integer;
str:string[30];
stol:string[30];
pl:real;
key:real;
punkt:integer;
 
 
 
procedure print_tree(p:pnode);
var i:integer;
begin
if p<>nil then
begin
print_tree(p^.left);
writeln(p^.strana:30,p^.stolica:30,p^.ploshad:8:2);
print_tree(p^.right);
end;
end;
 
 
 
function find(root:pnode;key:real;var p,pp:pnode):boolean;
begin
p:=root;
while p<>nil do
begin
if p^.ploshad=key then
begin
find:=true;
exit;
end;
pp:=p;
if key<p^.ploshad
then p:=p^.left
else p:=p^.right;
end;
find:=false;
end;
 
 
 
procedure insert(var root:pnode;key:real;str:string;stol:string);
var p:pnode;
pp:pnode;
begin
if find(root,key,p,pp) then
begin
writeln('takaya zapis uge imeetsa');
exit;
end;
new(p);
p^.strana:=str;
p^.stolica:=stol;
p^.ploshad:=key;
p^.left:=nil;
p^.right:=nil;
if root=nil
then root:=p
else
if key<pp^.ploshad
then pp^.left:=p
else pp^.right:=p;
end;
 
 
 
function z(p:pnode):pnode;
var y:pnode;
prev:pnode;
begin
y:=p^.right;
if y^.left=nil
then y^.left:=p^.left
else
begin
repeat
prev:=y;
y:=y^.left;
until
y^.left=nil;
y^.left:=p^.left;
prev^.left:=y^.right;
y^.right:=p^.right;
end;
z:=y;
end;
 
 
procedure del(var root:pnode;key:real);
var p:pnode;
pp:pnode;
y:pnode;
begin
if not find(root,key,p,pp) then
begin
writeln('takogo elementa net');
exit;
end;
if p^.left=nil
then
y:=p^.right
else
if p^.right=nil
then
y:=p^.left
else
y:=z(p);
if p=root
then
root:=y
else
if key<pp^.ploshad
then pp^.left:=y
else pp^.right:=y;
dispose(p);
end;
 
 
begin
root:=nil;
repeat
writeln('1-vstavka, 2-udalenie, 3-vivod na ekran, 4-vihod');
readln(punkt);
case punkt of
1:begin
writeln('nazvanie strani');
readln(str);
Writeln('stolica?');
readln(stol);
writeln('plochad?');
readln(pl);
key:=pl;
insert(root,key,str,stol);
end;
2:begin
writeln('kluch dla udaleniya?:Plochad strani');
readln(key);
del(root,key);
end;
3:begin
writeln('vivod spiska na ekran');
if root=nil
then writeln('derevo pustoe')
else
print_tree(root);
end;
end;
writeln('-------');
until
punkt=4;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 11:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверить, есть ли в непустом дереве хотя бы два одинаковых элемента (Turbo Pascal):

Проверить, есть ли в списке хотя бы два одинаковых элемента - Turbo Pascal
Дан список А, состоящий из записей: первое поле – символ, второе – адрес следующего элемента. Составить программу, которая проверяет, есть...

Проверить, есть ли в списке L хотя бы два одинаковых элемента - Turbo Pascal
1)Составить программу, которая проверяет, есть ли в списке L хотя бы два одинаковых элемента. 2) Составить программу, которая переносит в...

Проверить, есть ли в списке хотя бы два одинаковых элемента - Turbo Pascal
Написать логическую функцию, которая проверяет, есть ли в списке хотя бы два одинаковых элемента. Если условие выполняется, добавить новый...

Определить, есть ли в списке хотя бы два одинаковых элемента - Turbo Pascal
Помогите решить или решите если не сложно задачу.. Составить программу, которая проверяет, есть ли в списке L хотя бы два одинаковых...

Описать логическую функцию, описывающую,есть ли в дереве Т хотя бы два одинаковых элемента - Pascal
помогите пожалуйста решить задачу. описать логическую функцию, описывающую,есть ли в дереве Т хотя бы два одинаковых элемента

Продемонстрировать работу логической функции same(T), определяющую, есть ли в дереве Т хотя бы два одинаковых - Pascal
program Project9; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; type tipder=char;

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 11:37
Привет! Вот еще темы с ответами:

Дана целочисленная матрица А(10,10). Если на главной диагонали матрицы есть хотя бы два одинаковых элемента, то найти в матрице индексы минимального э - Pascal
Дана целочисленная матрица А(10,10). Если на главной диагонали матрицы есть хотя бы два одинаковых элемента, то найти в матрице индексы...

Опишите подпрограмму, которая проверяет если ли в списке хотя бы два одинаковых элемента. - Turbo Pascal
Опишите подпрограмму, которая проверяет если ли в списке хотя бы два одинаковых элемента. проблема в следующем когда список состоит из ...

Определить, что в строках матрицы с одинаковыми номерами совпадают хотя бы два элемента на одинаковых позициях - Turbo Pascal
Сформировать из случайных чисел две матрицы 7х7. если в строках с одинаковыми номерами совпадают хотя бы два элемента на одинаковых...

Проверить, есть ли в группе хотя бы два человека одного роста и вывести их имена - Turbo Pascal
Написать программу, использующую логическую функцию rost(gr), проверяющую, есть ли в группе gr хотя бы два человека одного роста и вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru