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

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

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

> сопоставление списков, динамическая память
сообщение
Сообщение #1


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Что надо сделать: (домучать все те же сети Петри)
Есть списки:
список позиций (содержится инфа: номер (имя) позиции, количество фишек в ней, указатель на след. позицию)
список переходов (номер перехода, указатель на список входящих дуг, указатель на список исходящих)
"навешанные" на него списки дуг (указатель на позицию, которая этой дугой связана с переходом, кратность дуг - для мультиграфа).
соответственно, этот указатель надо вполне конкретно задать.

Что я делаю (работает, но как-то мне такой способ не особо нравится):
1) создаю список позиций
2) начинаю создавать список переходов. для каждого перехода сначала соответствующие списки дуг, а потом их "прикрепляю".
сложность с заданием указателя на позицию в списке.
у меня есть указатель на первую позицию. указатель на вторую получается как first^.next
на третью - (first^.next)^.next
ну, или в цикле... но по сути то же самое.
это как-то оптимизируется?
(если запутано объяснила, могу картинкой нарисовать схему).
спасибо.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






wacko.gif wacko.gif Картинка бы не помешала...

Кстати, ты не могла бы привести также и определения типов (всю программу не надо, только сами описания типов, используемые в твоей реализации)?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Вот структура примерно...
Чисто информационные поля не вырисовывала, только систему связей (что на что ссылается).
То есть, например, в первый переход входит 2 дуги: из первой и второй позиции, а исходит всего одна - во вторую позицию.
Во второй переход входит дуга из второй позиции, а исходит в первую и третью и т.д.
Типы:

Цитата

Posref = ^Position; //Тип: указатель на позицию
Lref = ^Leader; // Тип: указатель на заголовочный узел перехода
Tref = ^Trailer; //Тип: указатель на дугу
//Описание типа заголовочного узла перехода
Leader=Record
Key : Integer; // Имя заголовочного узла
Trail1 : Tref; //Указатель на список входящих дуг
Trail2 : Tref; //Указатель на список исходящих дуг
Next : Lref // Указатель на следующий узел в списке заголовочных узлов
end;
//Описание типа дугового узла
Trailer = Record
Id : Posref; //Указатель на ту позицию, в/из которой входит/выходит дуга
Count : Integer; //Количество дуг, связывающих эту позицию с переходом
Next : Tref //Указатель на следующую дугу
end;
//Описание типа позиции
Position = Record
Key : Integer;
Next : Posref;
end;


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 19.04.2024 10:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name