IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> процедура, которая меняет Max и Min элементы дерева, процедура, которая меняет max и min элементы дерева
Слава
сообщение 7.01.2007 18:00
Сообщение #1


Гость






Ребята помогите написать процедуру, которая меняет max и min элементы непустого дерева, все элементы которого различны!!
 К началу страницы 
+ Ответить 
volvo
сообщение 7.01.2007 18:02
Сообщение #2


Гость






Для начала вспомни, что такое минимальное, а что - максимальное значение дерева (я надеюсь, речь об упорядоченном бинарном дереве?), т.е. где именно в дереве эти элементы находятся...
 К началу страницы 
+ Ответить 
Слава
сообщение 7.01.2007 18:08
Сообщение #3


Гость






задача полностью звучит так :

Используя очередь или стек описать процедуру или функцию, которая : меняет местами max и min элементы непустого дерева, все элементы которого различны(ТЭД=real).

Да, я думаю речь идет об обычном упорядоченном бинарном дереве.
 К началу страницы 
+ Ответить 
Гость
сообщение 9.01.2007 0:33
Сообщение #4


Гость






Ребята, ну неужели никто никогда не сталкивался с такой задачей??
 К началу страницы 
+ Ответить 
volvo
сообщение 9.01.2007 17:30
Сообщение #5


Гость






Цитата(Слава @ 7.01.2007 17:08)
Используя очередь или стек описать процедуру или функцию, которая : меняет местами max и min элементы непустого дерева, все элементы которого различны
Зачем тут очередь, или стек - спрашивается? blink.gif Без них все прекрасно делается:

procedure change_min_max(root: ttree);

type what = (_min, _max);

procedure get_extrem(find: what; p: ttree; var p_search: ttree);
begin
if p <> nil then begin

if p_search = nil then p_search := p
else if (p^.data > p_search^.data) = boolean(ord(find)) then p_search := p;

get_extrem(find, p^.left, p_search); get_extrem(find, p^.right, p_search);

end
end;

var
T: real;
p_min, p_max: ttree;
begin
p_min := nil; get_extrem(_min, root, p_min);
p_max := nil; get_extrem(_max, root, p_max);

T := p_min^.data; p_min^.data := p_max^.data; p_max^.data := T;
end;
 К началу страницы 
+ Ответить 
Слава
сообщение 10.01.2007 0:16
Сообщение #6


Гость






не знаю, зачем это надо, просто такое задание smile.gif , которое уже завтра надо сдать wacko.gif

можно ещё вопрос, что у меня не правильно вот в этой процедуре:

procedure PrintTree(r: TreePointer; n: integer);
var
i:integer;
begin
if r<>nil then begin
PrintTree(r.^left, n+1);
for i := 1 to n do Write(' ');
Writeln(r^.data);
PrintTree(r^.right, n+1);
end;
end;


Пишет invalid qualifier
 К началу страницы 
+ Ответить 
volvo
сообщение 10.01.2007 2:01
Сообщение #7


Гость






Цитата
PrintTree(r.^left, n+1);
Поменяй местами эти 2 символа...
 К началу страницы 
+ Ответить 
Слава
сообщение 10.01.2007 15:17
Сообщение #8


Гость






Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.
 К началу страницы 
+ Ответить 
MIsterIo
сообщение 14.12.2009 14:54
Сообщение #9





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Плиз подскажите как создать само дерево( точнее его заполнить с сылками на элементы), чтобы потом там искать мин и макс эл-ты,затем их менять, а потом печатать уже полученное в правильном порядке.

Сообщение отредактировано: MIsterIo - 14.12.2009 14:55
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.12.2009 18:55
Сообщение #10


Гость






Тебе сюда: Бинарные деревья, там есть все, что нужно для решения твоей задачи...
 К началу страницы 
+ Ответить 
Youri
сообщение 18.12.2012 14:03
Сообщение #11


Гость






Цитата(Слава @ 10.01.2007 15:17) *

Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.


Можете выложить задачу, а то уже просто мозг кипит
 К началу страницы 
+ Ответить 
-Дмитрий-
сообщение 3.10.2013 1:45
Сообщение #12


Гость






Цитата(Слава @ 10.01.2007 15:17) *

Volvo огромное спасибо за помощь, я всё-таки вчера смог осилить эту задачу, если кому понадобиться смогу ее выслать или выложить.


Можешь выкинуть ее сюда?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 0:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"