Цитата:
|
Да вроде info я ввел. А вот позицию в listе как ввести? Это ж ведь тоже указатель.
|
Во-первых, позиция - целое число, а не указатель.
Во-вторых, вводить в list его не надо, поскольку расположение элементов в списке может меняться, соответственно, невозможно жестко привязать к какому-либо элементу индекс.
Таким образом, тебе нужно просто дописать прогу, всавив в нее только процедуру вставки нового элемента в нужную позицию. Кажись это будет выглядеть так (тока я не проверял, у меня нет на машине паскаля):
Код:
procedure List_PosItemInsert (var Head: pos_type;
NewItemPos: integer; NewItemCont: list_info_type); far;
var
NewItem: pos_type;
begin
if NewItemPos < 1 then exit;
if (NewItemPos = 1) or (Head = nil) then begin
New (NextItem);
NextItem^.Info := NewItemCont;
NextItem^.Next := Head;
Head := NextItem;
end else begin
NextItem := Head^.Next;
List_PosItemInsert (NextItem, NewItemPos - 1, NewItemCont);
Head^.Next := NextItem;
end;
end;