![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
![]()
Не могу понять, почему программка вылетает из-за 3 процедурки, в консоли все работало, Помогите разобраться, пожалуйста.
Списки Составить программу, которая в списке L из каждой группы подряд идущих одинаковых элементов оставляет только один. implementation {$R *.dfm} type sp=^zap; zap=record inf:integer; next:sp end; var nach,p:sp; bp:sp=nil; ep:sp=nil; //заполнение списка procedure TForm1.Button1Click(Sender: TObject); var p:sp; begin new(p); p^.inf:=strtoint(edit1.Text); p^.next:=nil; if bp =nil then bp:=p else ep^.next:=p; ep:=p; edit1.Text:=''; edit1.SetFocus; end; //вывод списка procedure TForm1.Button2Click(Sender: TObject); var p:sp; s:string; n:integer; begin memo1.Lines.Clear; n:=0; s:=''; p:=bp; while p<>nil do begin n:=n+1; s:=s+inttostr(p^.inf)+#13#10; p:=p^.next; end; if n<>0 then memo1.Lines.Add('список'+#13#10+s) else memo1.Lines.Add('список пуст'); end; procedure TForm1.Button3Click(Sender: TObject); begin p:=nach; while p^.next <> nil do if p^.inf = p^.next^.inf then p^.next:=p^.next^.next else p:=p^.next; end;end. Консольный вариант: program Project2; {$APPTYPE CONSOLE} uses SysUtils; 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^.next <> 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. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Вы nach на bp заменили не везде:
p:=nach; |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
![]()
Большое спасибо! В следующий раз буду внимательней.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу понять в чем проблема (код) | diznt | Помощь студентам | 2 | 03.08.2008 10:20 |
Не могу понять почему не идет сортировка файла, помогите пожалуйста | Taisja | Помощь студентам | 2 | 15.06.2008 20:37 |
Помогите пожалуйста не могу понять! | Kosoy135 | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 28.12.2007 19:08 |
Не могу понять задание | amandra | Помощь студентам | 11 | 16.10.2007 10:24 |
не могу понять... | Dutchman | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.12.2006 07:14 |