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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2012, 19:45   #1
kalosha-stepa
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 25
По умолчанию Удаление из линейного списка элементов

написать процедуру которая удаляет из линейного списка элементы, большие первого.
у меня есть только процедура которая просто удаляет, а как ее дополнить не понимаю
Код:
program pr;
 Type Chain=^Elem;
      Elem=record
      data:integer;
      next:chain;
 end;

var first: chain; max:integer;

procedure form (var first: chain);
 var temp: chain; f: text;
begin
assign(f,'pr.txt');
reset(f);
while not (eof(f)) do
 begin
 new(temp);
  read(f, temp^.data);
  temp^.next:=first;
  first:=temp;
 end;
 close(f);
end;

procedure Print(first: chain);
 var temp: chain;
begin
 temp:= first;
while temp<> nil do
begin
 write(temp^.data,' ');
 temp:=temp^.next;
end;
end;
procedure del(var first: chain);
 var temp: chain;
begin
temp:=first;
while temp<> nil do
begin
if temp^.data<
temp:=first^.data;
first:=first^.next;
dispose(temp);
end;

BEGIN
writeln;
first:= nil;
form(first);
print(first);
END.

Последний раз редактировалось Stilet; 08.11.2012 в 21:49.
kalosha-stepa вне форума Ответить с цитированием
Старый 08.11.2012, 20:01   #2
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

procedure del(var first: chain);
var temp: chain; d: integer;
begin
temp:=first;
d:=temp^.data;
while temp^.next<> nil do
if temp^.next^.data > d then
temp^.next:= temp^.next^.next;
end;
Контакты
skype, почта: bm@kwax.ru

Последний раз редактировалось masax; 08.11.2012 в 20:02. Причина: опечатка
masax вне форума Ответить с цитированием
Старый 08.11.2012, 20:19   #3
kalosha-stepa
Пользователь
 
Регистрация: 13.09.2012
Сообщений: 25
По умолчанию

нет, я все понимаю но где удаление
kalosha-stepa вне форума Ответить с цитированием
Старый 08.11.2012, 21:16   #4
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

Код:
BEGIN
writeln;
first:= nil;
form(first);
del(first);
print(first);
END.
как то странно ты понимаешь)
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal - Удаление одинаковых элементов списка assasko Помощь студентам 0 23.05.2011 10:33
С++ Строки - списки. Удаление элементов списка. Daramos Помощь студентам 0 16.12.2010 09:05
Посмотреть значения элементов линейного списка в дебаге Rusl92 Помощь студентам 0 15.05.2010 22:36
Удаление элементов из списка. grave123 Общие вопросы C/C++ 0 10.03.2010 15:33
Удаление элементов из списка Wi1D Помощь студентам 0 18.05.2009 00:23