![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
мисс_граффити |
![]()
Сообщение
#1
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Что надо сделать: (домучать все те же сети Петри)
Есть списки: список позиций (содержится инфа: номер (имя) позиции, количество фишек в ней, указатель на след. позицию) список переходов (номер перехода, указатель на список входящих дуг, указатель на список исходящих) "навешанные" на него списки дуг (указатель на позицию, которая этой дугой связана с переходом, кратность дуг - для мультиграфа). соответственно, этот указатель надо вполне конкретно задать. Что я делаю (работает, но как-то мне такой способ не особо нравится): 1) создаю список позиций 2) начинаю создавать список переходов. для каждого перехода сначала соответствующие списки дуг, а потом их "прикрепляю". сложность с заданием указателя на позицию в списке. у меня есть указатель на первую позицию. указатель на вторую получается как first^.next на третью - (first^.next)^.next ну, или в цикле... но по сути то же самое. это как-то оптимизируется? (если запутано объяснила, могу картинкой нарисовать схему). спасибо. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
![]() ![]() Кстати, ты не могла бы привести также и определения типов (всю программу не надо, только сами описания типов, используемые в твоей реализации)? |
мисс_граффити |
![]()
Сообщение
#3
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Вот структура примерно...
Чисто информационные поля не вырисовывала, только систему связей (что на что ссылается). То есть, например, в первый переход входит 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; Эскизы прикрепленных изображений ![]() -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 13:13 |