Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
1

Динамическая структура данных для хранения генеалогического дерева

19.09.2012, 17:13. Показов 3915. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые гуру!
Подскажите алгоритм (или помогите кодом ) для след задачи: нужна программа, формирующая гниалогическое дерево, используя динамич. структуру, например, бинарное дерево. Каждая вершина должна содержать имя и дату рождения. Заранее благодарен!

Добавлено через 17 минут
наткнулся на пост Динамические структуры данных (списки, очереди, стеки, деревья), разбираюсь как добавить элемент содержащий имя и дату. Жду ответов.

Добавлено через 8 минут
а можно в паскале структуры данных делать как в си?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2012, 17:13
Ответы с готовыми решениями:

Разработать программу, формирующую динамическую структуру данных для хранения генеалогического дерева.
Помогите пожалуйста!!!Разработать программу, формирующую динамическую структуру данных для хранения...

Разработать программу, формирующую динамическую структуру данных для хранения генеалогического дерева. Каждая
Помогите пожалуйста Разработать программу, формирующую динамическую структуру данных для хранения...

Динамическая структура для хранения типизированных данных
Дано: ini-файл со следующей структурой раздел 1 список таблиц таблица 1 ... ...

Структура данных для хранения графов
Подскажите, пожалуйста, какую структуру данных лучше всего использовать для хранения графов, пример...

17
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 17:20 2
Цитата Сообщение от freeax Посмотреть сообщение
а можно в паскале структуры данных делать как в си?
Вполне. Например, в Си:
C
1
2
3
4
5
struct Tree
{
 char name[10];
 int date;
};
В паскале так:
Pascal
1
2
3
4
5
type 
 Tree = record
  name: string;
  date: integer;
 end;
1
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 17:22  [ТС] 3
я правильно понимаю, что если в коде

PNode=^Node; {Указатель на узел}
Node=record {Тип запись в котором будет храниться информация}
data:integer;
left,right:PNode; {Ссылки на левого и правого сыновей}

вместо data вставить структуру данных

struct {
char name[20], data[20];
} element;

то все будет ок, только функцию вывода дерева нужно будет изменить?
но как сделать подобную структуру на паскаль?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 17:30 4
freeax, не совсем понял, что имеется в виду. Я лишь привел пример записи структуры в паскале и Си.
0
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 17:31  [ТС] 5
Цитата Сообщение от BumerangSP Посмотреть сообщение
freeax, не совсем понял, что имеется в виду. Я лишь привел пример записи структуры в паскале и Си.
uses crt;
type
PNode=^Node; {Указатель на узел}
Node=record {Тип запись в котором будет храниться информация}
human:element;
left,right:PNode; {Ссылки на левого и правого сыновей}
end;

type
element = record
name, date: string;
end;

так можно сделать?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 17:40 6
В вашем случае, скорее всего нужно просто добавить в существующий код (которые в ссылке) метод "date". Дату, в общем:
Pascal
1
2
3
4
5
6
PNode=^Node; {Указатель на узел}
Node=record {Тип запись в котором будет храниться информация} 
 data:integer; {пусть это будет name} 
 date: string;
 left,right:PNode; {Ссылки на левого и правого сыновей}
end;
Добавлено через 7 минут
Как добавлять такие элементы понятно?
1
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 17:49  [ТС] 7
Добавлено через 7 минут
Как добавлять такие элементы понятно?
если я правильно понимаю

Tree^.name:=x;
Tree^.data:=y;

непонятно, почему используется в коде x? Tree^.data и data разные переменные, можно сделать же так

Tree^.name:=name;
Tree^.data:=data;
?
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 18:26 8
freeax, разницы по сути никакой, просто так захотелось автору)
И еще: бинарное дерево организуется по принципу сравнения вершин: добавляемая вершина меньше текущей - становится левым сыном, больше - правым. Так что как-нибудь это нужно организовать, независимо от полей имени и даты.
1
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 18:27  [ТС] 9
Короче говоря добавление имени и даты сделал, но что-то это на генеалогическое древо не очень похоже))
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 18:29 10
freeax, смотря в каком виде выводить на экран: в табличном, либо в графическом.
0
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 18:32  [ТС] 11
Цитата Сообщение от BumerangSP Посмотреть сообщение
freeax, смотря в каком виде выводить на экран: в табличном, либо в графическом.
кстати, я так понимаю в примере вывод организован рекурсивно?
подскажите как бы лучше выводить чтобы на генеалогическое дерево было похоже)
0
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 18:49  [ТС] 12
То, что вышло в прикрепленном файле, подскажи что еще можно сделать
Вложения
Тип файла: txt tree.txt (3.1 Кб, 37 просмотров)
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 19:15 13
подскажите как бы лучше выводить чтобы на генеалогическое дерево было похоже)
Это надо подумать))
В общем, есть у меня один код (не мой), там все реализовано (графический вывод в том числе). Подставите только свои пункты в структуру и кое-что исправите в процедурах.
Файл не могу оценить, т.к. там что-то с кодировкой и мне ничего не понятно)
Вложения
Тип файла: rar 18.rar (2.7 Кб, 53 просмотров)
1
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 19:21  [ТС] 14
Цитата Сообщение от BumerangSP Посмотреть сообщение
Файл не могу оценить, т.к. там что-то с кодировкой и мне ничего не понятно)
кодировка UTF8, можно смотреть в браузере, выбрав нужную кодировку
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 19:22 15
freeax, я имел в виду, что не смогу потестить.
0
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 19:36  [ТС] 16
Цитата Сообщение от BumerangSP Посмотреть сообщение
freeax, я имел в виду, что не смогу потестить.
теперь должно быть все нормально
Вложения
Тип файла: zip l6.cp866.pas.zip (1.5 Кб, 55 просмотров)
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
19.09.2012, 19:51 17
Ну, в общем-то все работает Я, честно говоря, не в курсе, какие еще функции можно прикрутить к генеалогическому дереву) Можно еще сделать удаление.
0
3 / 3 / 0
Регистрация: 19.09.2012
Сообщений: 146
19.09.2012, 20:47  [ТС] 18
Цитата Сообщение от BumerangSP Посмотреть сообщение
Ну, в общем-то все работает Я, честно говоря, не в курсе, какие еще функции можно прикрутить к генеалогическому дереву) Можно еще сделать удаление.
ну вроде по заданию нужно было сделать динамическую структуру, по сути она есть, так что буду другие задания делать) Спасибо большое Вам и этому форуму, где можно найти рабочий код))
0
19.09.2012, 20:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.09.2012, 20:47
Помогаю со студенческими работами здесь

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

Необходимо реализовать структуру для хранения данных в виде бинарного дерева
Ассоциативный массив должен храниться в виде бинарного дерева

Наиболее подходящая структура данных для дерева
Какая наиболее подходящая структура данных для дерева (не обязательно двоичного). Очень часто...

структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ
структура array предназначена для хранения строки типа char. Структура имеет функцию, которая...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru