Pointer29. Дан адрес $$P_2$$ записи типа TNode, содержащей поле Data (целого типа) и поля Prev и Next (типа PNode — указателя на TNode). Эта запись связана полями Prev и Next соответственно с предыдущей и последующей записью того же типа. Вывести значения полей Data предыдущей и последующей записи, а также адреса $$P_1$$ и $$P_3$$ предыдущей и последующей записи.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
program Pointer29; type PNode=^TNode; TNode=record Data: Integer; Next: PNode; Prev: PNode; end; var P1,P2,P3:PNode; D,i:integer; a:^Word; begin new(p2); new(p1); new(p3); Write('p1.Data: '); Readln(p1.Data); Write('p3.Data: '); Readln(p3.Data); P2.Prev:=P1; P2.Next:=P3; Writeln('P1.Data: ',p2.prev.Data); Writeln('P3.Data: ',p2.next.Data); a:=Addr(P2.prev); Writeln('P1: ',a^); a:=Addr(P2.next); Writeln('P3: ',a^); end. |
Другие задачи из раздела Pointer можно посмотреть здесь.
Комментарии:
Комментарии 1