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

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

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

> Создание списков, Список Стек
Atreides
сообщение 2.05.2005 18:40
Сообщение #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 - 2.05.2005 18:42


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


Гость






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

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


Бывалый
***

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

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


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


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


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

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

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


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


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


Гость






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


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

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

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


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


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


Гость






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

Ну, а если воспользоваться поиском по слову Stack ? Ведь были десятки примеров использования !!! Вот один из них: Стеки
 К началу страницы 
+ Ответить 
Atreides
сообщение 14.05.2005 15:12
Сообщение #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 - 14.05.2005 15:13


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


Гость






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

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

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

 



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