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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Вывод дунаправленого динамического списка с последнего элемента, немного неправильная реализация... нужна помощь с доведением до ума
сообщение
Сообщение #1


Новичок
*

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

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


народ, я застрял... нужно написать просмотр двунаправленого динамического списка с последнего элемента...
я написал следующее

procedure TForm1.Button8Click(Sender: TObject);
var i:integer;
begin
new(p2);
p:=head;
While P <> Nil Do
Begin
p^.pred:=p;
if p^.sled=nil then
last:=p;
p:=p^.sled;

End;


Label9.Caption:=''; Label10.Caption:='';
Label11.Caption:=''; Label12.Caption:=''; Label14.Caption:='';
i:=1; p:=last;
While P <> Nil Do
Begin
Label9.Caption:=Label9.Caption+chr(13)+P^.shifr;
Label10.Caption:=Label10.Caption+chr(13)+P^.naim;
Label11.Caption:=Label11.Caption+chr(13)+P^.cena;
Label12.Caption:=Label12.Caption+chr(13)+P^.ves;
Label14.Caption:=Label14.Caption+chr(13)+IntToStr(i);
p:=head^.pred; inc(i);
End;
end;

но оно зацикливается на последнем элементе....

в архиве весь проект...
нид хелп... в понедельник сдавать, а без этого препод не принимает(((

Сообщение отредактировано: krox -


Прикрепленные файлы
Прикрепленный файл  ____2.rar ( 9.33 килобайт ) Кол-во скачиваний: 238
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


ещё одна проблемка возникла... удаление по номеру у меня однонаправленое... после него просмотр с конца не работает....
нид хелп

Добавлено через 6 мин.
думаю это будет примерно так

procedure TForm1.Button2Click(Sender: TObject);
var d:Boolean; i:integer;
begin
d:=false;
i:=0; //счётчик
P:=Head;
Last:=nil;
While (not d) and (P<>Nil) Do
Begin
If StrToInt(Edit5.Text)-1=i Then
Begin
p^.pred^.sled:=p^.sled;
p^.sled^.pred:=p^.pred;
d:=True;
Dispose(p);
end
else begin

head^.pred:=p; //этот участок не правильный, не зннаю что написать
p:=p^.sled;
end;
inc(i);
End; //закрытие цикла
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 9.09.2025 2:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name