![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
lena4k@ |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: lena Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() Вот моя задачка: определяет число вхождений ключа x в дерево t. Задачка вроде несложная, только вот в этих "деревьях" я как-то блукаю. ![]() Вот что я сделала: USES CRT; Но я наверное что-то не так поняла. Помогите ![]() ![]() Сообщение отредактировано: volvo - 7.12.2006 22:15 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Так лучше?
![]() USES CRT; P.S. В следующий раз давай топику более осмысленное название... |
lena4k@ |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 2 Пол: Женский Реальное имя: lena Репутация: ![]() ![]() ![]() |
Спасибо большущее VOLVO :give_ro Первый раз решилась вот так по интернету попросить помочь мне и сомневалась, если честно, что кто-то станет помогать! МИР НЕ БЕЗ ДОБРЫХ ЛЮДЕЙ!!!
Очень интересное решение с помощью функции ![]() А вот ещё решение этой задачи (с процедурой): USES CRT; type TKey = integer; PNode = ^TNode; TNode = record key : TKey; left,right : PNode; end; {-----------------------------------} PROCEDURE make(var p : PNode; x : Tkey); begin new(p); p^.key:=x; p^.left:=nil; p^.right:=nil; end; PROCEDURE insert(var p : PNode; h : integer); begin make(p^.left,Random(10){h}); make(p^.right,Random(10){h}); if h > 1 then begin insert(p^.left,h-1); insert(p^.right,h-1); end; end; {--------------------------------------------------------} PROCEDURE inorder(var p : PNode); begin if p<>nil then begin inorder(p^.left); Write(p^.key,' '); inorder(p^.right); end; end; {-----------------------------------------------------} PROCEDURE poisk(var p : PNode; x : TKey; var k : Integer); begin if p<>nil then begin if p^.key = x then k:=k+1; poisk(p^.left,x,k); poisk(p^.right,x,k); end; end; {******************************************} {--------------------------------------------------------} var p : PNode; x : Tkey; h,kol : integer; tree : PNode; begin clrscr; h:=2; tree:=nil; make(tree,Random(10){0}); insert(tree,h); Writeln('obratnij obhod dereva: '); inorder(tree); Writeln; Writeln; Writeln('vvedite iskomij kluth : '); Readln(x); kol:=0; poisk(tree,x,kol); Writeln; Write('thislo vhogdenij klutha ',x,': ',kol); readln; end. ![]() И ещё раз СПАСИБО ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 9:47 |