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

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

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

> Задача на стек и дек.
сообщение
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 652
Пол: Мужской
Реальное имя: Алексей

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


В общем задача заключается в том что надо из текстового файла заполнить дек и взять последние "Б" элементов и записать их в стек.Суть вопроса заключается в том какую реализацию выбрать.первый скособ это создать процедуру котора берет элемент из дека и пишет в стек,а вторая уже выполняет первую до выполнения условия(достижение Б),либо сделать лиш одну процедуру,которая делает все сразу.

TElem = integer;
TStack = ^TElement;
TElement = record
info:TElem;
Next:TStack;
end;
TData = integer;
PTDeqItem = ^TDeqItem;
TDeqItem = record
Data: TData;
next, prev: PTDeqItem;
End;

TDeq = Record
pStart, pFinish: PTDeqItem;
End;


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


Гость






Если
Цитата
текстовый файл все тот же
, то дерево в принципе не будет заполняться, ибо уже при чтении первой записи у тебя будет вылет: { не является целым числом. Точка, все дальнейшее - неправда.

Если чуть-чуть изменить входной файл (продублировать целое число, находящееся в каждой строке), то дерево будет построено, и даже выведено на экран:
Введённые данные:
male boris 1995 1995
male kor 1955 1955
male bob 1912 1912
male bob 1912 1912
fomale maria 1965 1965
fomale ksenia 1915 1915
fomale rita 1915 1915

Отображение в виде дерева:
fomale rita
fomale ksenia
fomale maria
male boris
male kor
male bob
male bob
Где "пирамида"? Ты что, где-то форматируешь вывод (а я ведь показывал тебе, КАК это делается, второй раз я повторять не буду)? Опять ложь.

Следующий баг:
Цитата
 Walk:=Find(Root);
If Walk=Nil Then WriteLn('Элемент не найден.');
WriteLn('Найден элемент:');
Show(Walk^.Inf); WriteLn;

Что это? То есть, ты сообщаешь, что элемент не найден, и тут же разыменовываешь nil? Интересная концепция...

В общем, пока я не вижу ничего измененного. Ты по-прежнему как партизан молчишь, ЧТО ты за дерево такое особенное хочешь получить (говоришь, что главное - создать дерево, но как только оно у тебя НЕ ТАКОЕ, как ты хочешь - ты тут же говоришь, что оно неправильное). Как правильно - ведомо только тебе, вот и делай сам. Здесь телепатов нет. Что ты хотел, чтоб Паскаль по твоему хотению проник тебе в мысли, узнал вот из этого бреда:
male boris 1995 {корень}
fomale maria 1965 {мать}
male kor 1955 {отец}
fomale ksenia 1915 {бабушка по отцу}
male bob 1912 {дед по отцу}
fomale rita 1915 {бабушка по матери}
male bob 1912 {дед по матери}
, что Ксения - мать Кора, а Боб - отец Марии, и добавил эти итемы в нужные тебе места? Не бывать этому. Ты должен сообщить программе, кто есть кто, и кого куда добавлять. Иначе она всегда будет создавать просто какое-то дерево, которое нельзя назвать генеалогическим.

Извини, я не вижу прогресса у тебя в теме, посему.... Мне надоело переливать из пустого в порожнее. Ты не хочешь видеть того, что тебе говорят. А я не хочу говорить то, чего потом не видят.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Krjuger   Задача на стек и дек.   17.05.2009 20:54
volvo   Я уже задавал тебе этот вопрос, ты решил, что лучш…   17.05.2009 22:44
Krjuger   Не, стек и дек обязательно должны быть,это принцип…   18.05.2009 1:38
volvo   Нет, конечно... В смысле, неправильно. Сам же сказ…   19.05.2009 2:24
Krjuger   Могу удивить он компилируется в легкую.Так насчет …   19.05.2009 2:28
volvo   Ты сказки-то будешь внукам рассказывать... Это ком…   19.05.2009 2:59
Krjuger   Вот полная прога.Теперь, вроде, стек заполняется ,…   19.05.2009 16:50
volvo   Если б работало так, как задумывал, может и пригод…   20.05.2009 21:38
Krjuger   Извини,с этим разделом я не знаком.Программа рабо…   20.05.2009 23:11
volvo   Ты файл test.txt наконец покажешь или нет? Я ж не …   21.05.2009 22:29
Krjuger   Хорошо вот текстовый файл и оновленный вариант про…   21.05.2009 22:49
volvo   В результате ты хочешь получить вот такой результа…   21.05.2009 23:04
Krjuger   Вообще мне необходимо получить генеагогическое де…   22.05.2009 0:01
volvo   Значит, так. Дерево создается неправильно, пересма…   22.05.2009 0:26
Krjuger   В общем я почитал пяток другой факов и немного пер…   22.05.2009 19:42
volvo   Если , то дерево в принципе не будет заполняться, …   22.05.2009 20:49
Krjuger   Да это мой косяк,добавить добавил а упомянуть об …   22.05.2009 21:22
Krjuger   Вроде я понял о чем ты так усердно пытался мне ска…   22.05.2009 22:47
Krjuger   При этом,если сделать в процедуре Procedure AddS…   22.05.2009 23:24


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

 





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