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

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

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

 
 Ответить  Открыть новую тему 
> Создание списков, Список Стек
сообщение
Сообщение #1


Ветеран Броуновского Движения
***

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

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


Список я написал. Но народ подскажите, пожалуйста, как вот для таково односвязного списка стек сделать процедуру добавления и удаления элемента. И объясните, как производится добавление и откуда должно происходить удаление, если добавлять нужно с головы. Не это понятно, что в стеке добавление и удаление должно происходить только с одного и того же места, но какой элемент будет удаляться? Это мой список, где id – это номер, а str – значение элемента.
Doit_Item – элемент, над которым производят действие. Остальное думаю понятно.

Код
uses
 SysUtils;

Type
Steck=^nsteck;
Nsteck=record
Id:cardinal;
Str:string[99];
Next:steck;
End;
Var head:steck;
Procedure Add_Item(head:steck);
Var New_Item,Doit_Item:steck;
Begin
GetMem(New_Item,sizeof(steck));
If New_Item<>Nil then
Begin
Writeln('id:');
Readln(New_Item.id);
Writeln('str:');
Readln(New_Item.str);
New_Item.next:=Nil then
head:=New_Item else
Begin
Doit_Item:head
While Doit_Item.next<>Nil do
Doit_Item:-Doit_Item.next;
Doit_Item.next:=New_Item;
End;
End;
End.


Сообщение отредактировано: Atreides -


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


Гость






А вот тут посмотреть? FAQ: Стеки

P.S. А почему в Дельфи? Это по-моему, чистый Паскаль... blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

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

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


а в пасе разве есть SysUtils ? это уже из делфи ... но тут помоему и без этого модуля все будет прекрасно работать.
Вопросц : нафиг в делфях самому писать списки??? там уже все есть...


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ветеран Броуновского Движения
***

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

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


Теперь понял, элемент, который я только что добавил я, должен удалить?
А как будет выглядеть процедура добавления элемента и удаления?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Иди по той же ссылке - там прикреплен модуль, в нем все есть - и добавление, и удаление...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Ветеран Броуновского Движения
***

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

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


Не что я не понял :molitva: , как этими модулями пользоваться то? Там есть готовый список Стек, так? И к нему нужно подписать процедуры, так что ли? А какие нужны процедуры и функции и в каком порядке? Help, ни как не могу сообразить с этими списками!


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата(Atreides @ 10.05.05 18:30)
Help, ни как не могу сообразить с этими списками!

Ну, а если воспользоваться поиском по слову Stack ? Ведь были десятки примеров использования !!! Вот один из них: Стеки
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Ветеран Броуновского Движения
***

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

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


Там процедура удаления не подходит к моему списку стек <_< ? Как написать сюда процедуру удаления, плиз help :molitva: ? Там, какие то объявления всё мудрено blink.gif у меня проще…
Код
program Spisok_Stack;

uses
 SysUtils;

Type
Steck=^nsteck;
Nsteck=record
Id:cardinal;
Str:string[99];
Next:steck;
End;
Var
head:steck;
Procedure Add_Item(head:steck);
Var New_Item,Doit_Item:steck;
Begin
GetMem(New_Item,sizeof(steck));
If New_Item<>Nil then
Begin
Writeln('id:');
Readln(New_Item.id);
Writeln('str:');
Readln(New_Item.str);
New_Item.next:=Nil;
if head=Nil then
head:=New_Item else
Begin
Doit_Item:=head;
While Doit_Item.next<>Nil do
Doit_Item:=Doit_Item.next;
Doit_Item.next:=New_Item;
End;
End; End;
End.


Сообщение отредактировано: Atreides -


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Цитата(Atreides @ 14.05.05 15:12)
Там, какие то объявления всё мудрено blink.gif  у меня проще…

Проще - не значит правильнее... Если тебе нравится изобретать велосипед, изобретай его сам, OK?
 К началу страницы 
+ Ответить 

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

 





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