Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2008, 19:22   #1
Misho0k
 
Регистрация: 20.05.2008
Сообщений: 8
По умолчанию незнаю что сделать со СТЭКом

Задача такая:
Написать программу, реализующую стэк и которая удаляет определённые элементы стэка.


program pr2;
uses crt;
type din=^item;
item=record
elem:byte;
prev: din;
end;
var ts,p: din;
n,i,m,j,k:integer;
procedure addition(x:integer);
begin
new(p);
p^.elem:=x;
p^.prev:=ts;
ts:=p;
end;
procedure stack;
begin
p:=ts;
while p<>nil do begin
write(p^.elem,' ');
p:=p^.prev;
end;
writeln;
end;
procedure udal;
begin
if ts<>nil then begin
p:=ts^.prev;
dispose(ts);
ts:=p;
end;
end;
begin
clrscr;
ts:=nil;
for i:=1 to 10 do addition(i);
stack;
for j:=1 to 2 do begin
writeln('dobavte element');
readln(m);
addition(m);
stack;
end;
writeln('skolko udalit');
readln(n);
for k:=1 to n do udal;
stack;
readln;
end.

программа удаляет N-ное колличество первых элементов стэка
вродебы всё перепробовал,а он не хочет ничего делать
помогите очень срочно нужно...
Misho0k вне форума Ответить с цитированием
Старый 24.05.2008, 21:09   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Сильно не вникал, но попробуй в процедуре удаления написать так:
Код:
p^.prev:=ts^.prev;
dispose(ts);
ts:=p^.prev;
puporev вне форума Ответить с цитированием
Старый 24.05.2008, 21:29   #3
Misho0k
 
Регистрация: 20.05.2008
Сообщений: 8
По умолчанию

не то,получается тоже самое
Misho0k вне форума Ответить с цитированием
Старый 24.05.2008, 21:51   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Слушай, я скопировал твой код, ничего не менял, все нормально работает.
puporev вне форума Ответить с цитированием
Старый 24.05.2008, 23:01   #5
Misho0k
 
Регистрация: 20.05.2008
Сообщений: 8
По умолчанию

мне нужно удалять определённый элемент,а не первые 5 или 6
так-то она у меня тоже работает
Misho0k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НЕЗНАЮ ЧТО ДЕЛАТЬ!! grob77 Компьютерное железо 3 11.07.2008 11:53
как это сделать? DeDoK Общие вопросы Delphi 2 11.07.2008 04:41
Помогите плиз, курсак. А как сделать незнаю chilinik Помощь студентам 3 27.06.2008 07:53
Как сделать? killer12rus PHP 4 18.06.2008 16:03
незнаю с чего начать Димарик Помощь студентам 2 28.06.2007 18:36