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

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

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

 
 Ответить  Открыть новую тему 
> Линейные списки, помогите решить!!
Masluk
сообщение 24.12.2005 15:40
Сообщение #1


Гость






Народ, помогите написать прогу:

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

очень нужно, а сам икак не врублюсь как это сделать! wacko.gif unsure.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 24.12.2005 15:49
Сообщение #2


Гость






Как со списками работать вообще знаешь?

FAQ: Динамические Структуры Данных: Списки смотрел?

В чем конкретно заключается проблема? Что именно непонятно?
 К началу страницы 
+ Ответить 
Гость
сообщение 24.12.2005 15:58
Сообщение #3


Гость






Да, Faq посмотрел, спасибо
у меня затруднения с последним пунктом задания...
 К началу страницы 
+ Ответить 
volvo
сообщение 24.12.2005 16:02
Сообщение #4


Гость






Пройти по всему списку, если слово, хранящееся в текущем элементе, совпадает с заданным - вывести номера страниц... Как у тебя структура списка задана?
 К началу страницы 
+ Ответить 
Гость
сообщение 24.12.2005 16:41
Сообщение #5


Гость







type
kolstr=array[1..10] of real;
point= ^preduk;
preduk=record
slovo: string[20];
str:kolstr;
end;


так можно? или я туплю?
 К началу страницы 
+ Ответить 
volvo
сообщение 24.12.2005 16:55
Сообщение #6


Гость






Лучше - так:
type
pageArray = array[1 .. 10] of Integer; { Ну зачем страницы - вещественные? }
point= ^preduk;
preduk=record
slovo: string; { Каждый элемент списка содержит только одно слово, по условию }
pages: pageArray; { str - название функции в Паскале, лучше его не использовать }
next: point;
end;
 К началу страницы 
+ Ответить 
Masluk
сообщение 24.12.2005 17:05
Сообщение #7


Гость






ага...ладно, спасибо
 К началу страницы 
+ Ответить 
Гость
сообщение 24.12.2005 17:23
Сообщение #8


Гость






чето меня глючит...у меня чето не выходит добавлять элементы в список... huh.gif
 К началу страницы 
+ Ответить 
volvo
сообщение 24.12.2005 17:40
Сообщение #9


Гость






var
p, first, last: point;

first := nil; last := nil; { перед началом работы }
...
new(p);
p^.slovo := ... ; { слово, которое надо внести }
for i := 1 to n_pages do
p^.pages[i] := ... ; { внести страницы в компоненту списка }
p^.next := nil;

if first = nil then first := p
else last^.next := p;
last := p;
...

Приведенный выше фрагмент должен добавлять к списку одну компоненту... Повторяй это столько раз, сколько слов нужно внести в список, и будет тебе счастье...
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 26.07.2025 13:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"