![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
"Обратное дерево" [D7, WinXP]
AdMeen © (2008-10-08 07:55:00)Каким образом можно реализовать "перевёрнутое дерево",т.е. дерево наоборот.где ветви сходятся к корню
*---
|-----*
*--- |
|---*
*--- |
|-----*
*---
Примерно вот так.
han_malign (2008-10-08 18:16:00) [21]
> в простом массиве массивов
.....
> массив 3 уровня
(участник,количество побед)
[0,0]
[1,2]
[1,2]
[1,2]
[2,1]
[2,1]
[3,0]
------------------
function Y_norm(fighter,victory: integer): integer;
begin
victory:= $FFFFFFFF shl victory;
Result:= (fighter and victory)*2 + not victory;
end;
for i:= 0 to n-1 do with fv do
for j:= 0 to v do DrawFighter(j*X_step+X_offs, Y_norm(i,j)*Y_step+Y_offs, Fighter[i]);
Сергей М. (2008-10-08 17:03:00) [22]
> дальше уже просто нужно только нарисовать по этим данным
> дерево
Его можно и сразу "нарисовать", заполнив TTreeView заранее известными данными. А по ходу соревнований изменять св-ва узлов соотв.образом.
Сергей М. (2008-10-08 16:58:00) [23]
> AdMeen © (08.10.08 16:55) [42]
> каким образом потом это всё можно вывести в виде дерева
С помощью компонента TTreeView.
Для большого количества участников - TDBTreeView.
Palladin (2008-10-08 16:58:00) [24]
> массив 1 уровня: 1,2,3,4,5,6,7,8
то есть, этот массив означает что 1 соревнуется с 2, 3 с 4 и тд...
Palladin (2008-10-08 16:57:00) [25]
> Почему ? И способ организации хранения тоже ..
ну потому что, из двух выбран на уровень выше может быть только один, от этого и отталкиваемся, по проще опишу, скажем есть у нас ID участников от 1 до 8
массив 1 уровня: 1,2,3,4,5,6,7,8
массив 2 уровня: 2,3,6,7
массив 3 уровня: 3,7
и победитель: 7
дальше уже просто нужно только нарисовать по этим данным дерево...
AdMeen (2008-10-08 16:55:00) [26]Сергей М.
Довольно долгое время занимался. А так пытаюсь быть программистом :).
Palladin
Спасибо за совет буду пробывать таким способом.
Ну а всё таки,каким образом потом это всё можно вывести в виде дерева,как особо бестолковому объясните пожалуйста.
Сергей М. (2008-10-08 16:52:00) [27]
> от нормального дерева тут лишь - способ представления
Почему ? И способ организации хранения тоже ..
Только однокоренное дерево образуется лишь в конце соревнований, а в ходе оных это еще не дерево, а заросли чепыжника - куча корней, из каждого из которых торчат ветки) ..
Сергей М. (2008-10-08 16:48:00) [28]
> AdMeen © (08.10.08 16:44) [38]
> Кто знаком с борьбой
Так ты программист или знаток борьбы ?)
Или по совместительству пытаешься освоить вполне родственное занятие ?)
> других вариантов к сожалению не усматриваю
А почему перевернутое-то ?
Ты объясни нам, бестолковым, мы ж не борцы в большинстве своем, а программисты ..
Palladin (2008-10-08 16:48:00) [29]
> При олимп.системе запах вполне привычный)
да, но от нормального дерева тут лишь - способ представления :) остальное все можно хранить в простом массиве массивов, по уровням соревнований, пока не останется только один! Маклауд какой нибудь.
типа
1. петя маша вася ИШ коля света рома АП
2. маша ИШ света АП
3. ИШ АП
4. ХЗ :))
5. ЮЗ на победителя :))
AdMeen (2008-10-08 16:44:00) [30]Кто знаком с борьбой знают,что соревнования при приведённых участниках проводятся именно по олимпийской системе.
То Сергей М.
Ломанулся :),других вариантов к сожалению не усматриваю:(
Сергей М. (2008-10-08 16:43:00) [31]
> Palladin © (08.10.08 16:39) [35]
Ну почему ?
При олимп.системе запах вполне привычный)
Только вот автор никак не сообразит, что единый корень образуется лишь после окончания соревнований, т.е. после определения победителя в финале)
Сергей М. (2008-10-08 16:40:00) [32]
> Palladin © (08.10.08 16:39) [34]
Вот так оно и всегда - думали про что-то страшное, а получилось как у Черномырдина)
Palladin (2008-10-08 16:39:00) [33]тьфу... я то думал.... а оно то оказалось...
Palladin (2008-10-08 16:39:00) [34]тут вообще деревьями и не пахнет...
Vlad Oshin (2008-10-08 16:33:00) [35]
> Написать программу для проведения соревнований по борьбе,
ключевое слово - по борьбе
Сергей М. (2008-10-08 16:32:00) [36]
> Так что вот так вот
И ты, конечно же, сразу ломанулся в лес из "деревьев вверх ногами" ?)
А кто сказал, что соревнования должны проходить именно по олимпийской системе ?
AdMeen (2008-10-08 16:21:00) [37]На самом деле надо решить задачу,собственно сабж:
Написать программу для проведения соревнований по борьбе,вводить имена участников в поле Edit.Затем выводить имена участников пары,и поля для ввода очков.По окончании пар,вывести ход соревнований в виде дерева
Так что вот так вот:(
MsGuns (2008-10-08 15:19:00) [38]>oxffff © (08.10.08 11:56) [21]
>Я говорю не про путь к корню. А про обход узлов от кроны к корню.
Юноша, у Вас, очевидно какие-то марсианские деревья. У обычных, земных, по ветке нельзя ОБОЙТИ все дерево. Вы просто упретесь в ствол и все. При этом все листья перед Вашим взором будут в кучу и определить какие из них к каким веткам относятся просто физически невозможно, сидя на стволе.
{RASkov} (2008-10-08 12:15:00) [39]> Зная А можно получить единственный B
Это ему(автору) нужно знать изначально все A.... например их 300 получилось ну или пятьсот....
Собсно с бухты барахты можно построить дерево с такими входными данными..... но возможно могут получится "упавшие ветки" но это не страшно или как?(скорее вопрос автору)...
oxffff (2008-10-08 12:09:00) [40]
> {RASkov} © (08.10.08 12:06) [27]
Да какая разница как он, его строит, от А к B или B к A. Зная А можно получить единственныйB. Зная B можно получить всеA.