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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2008, 20:36   #1
Taisja
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 25
Печаль Помогите исправить косяк в задаче на динамические переменные списки

Списки
Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов оставляет только один.

type sp=^zap;
zap=record
inf:integer;
next:sp end;
var nach,p2,p:sp; a:integer;
begin
new(p);
nach:=p;
writeln('Введи числа до 0');
readln(nach^.inf);
repeat
p2:=p;
new(p);
p2^.next:=p;
readln(a);
if a<>0 then p^.inf:=a else p2^.next:=nil;
p^.next:=nil;
until a=0;
p:=nach;
while p<>nil do
if p^.inf = p^.next^.inf then p^.next:=p^.next^.next
else p:=p^.next;
p:=nach;
while p<>nil do
begin
write(p^.inf,' ');
p:=p^.next;
end;
writeln;
readln;
end.
Taisja вне форума Ответить с цитированием
Старый 31.05.2008, 21:19   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

У тебя вот в этой части ошибка
Код:
while p<>nil do 
  if p^.inf = p^.next^.inf then p^.next:=p^.next^.next
  else p:=p^.next;
Когда доходишь до последнего элемента списка, p^.next = nil, а ты пытаешься обратиться к p^.next^.inf и p^.next.next. Надо делать
Код:
while p^.next <> nil do
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 31.05.2008, 21:49   #3
Taisja
Пользователь
 
Регистрация: 31.05.2008
Сообщений: 25
По умолчанию

Спасибо! Я просто уже запарилась. Цитата миленькая.
Taisja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 4 04.07.2008 12:27
сохранение структуры (динамические списки очередей) в файле AlenaZ Помощь студентам 2 09.06.2008 20:14
Помогите дописать и исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 5 30.05.2008 00:14
Помогите исправить ошибку в задаче VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 9 19.05.2008 22:16
Динамические переменные, делфи, в чем ошибка Agent[PNZ] Помощь студентам 17 05.05.2008 21:43