Решаем задачи Абрамян на Паскале. Pointer1

Pointer1. Дан адрес $$P_1$$ записи типа TNode, содержащей поле Data (целого типа) и поле Next (типа PNode — указателя на TNode). Эта запись связана полем Next со следующей записью того же типа. Вывести значения полей Data обеих записей, а также адрес $$P_2$$ следующей записи.

Решение:

Другие задачи из раздела Pointer можно посмотреть здесь.

Комментарии:

Комментарии 8

  • Можно ли обойтись без функции addr или ей есть какой-нибудь аналог? В моем компиляторе ее нет, и поэтому указывается как «неизвестное имя»

  • addr — альтернатива @
    то есть можно записать:

  • После замены addr на @ в том же месте возникла новая ошибка: «Нельзя преобразовать тип ^^TNode к ^word». Гуглил насчет этой проблемы и нашел только это —

    серофим:
    всё ,разобрался , в ABC нет ADDR , и присваивать вот так нельзя :
    PascalВыделить код
    STRUKAZ:=@(a[i]);
    но можно так:
    PascalВыделить код
    var ch:char;
    ………..
    ch := (a[i]);
    STRUKAZ := @ch;

    Видимо при моем PascalABC нужно данный момент — a := @(P1^.Next); — реализовать как — то по другому?

    • немного поправил комментарий. заменил ссылку на инфу…
      но насколько я вижу в данном примере мы получаем адрес не a[i], а ch

  • а можете по точнее назвать версию PascalABS на котором вы компилируете проект?

  • PascalABC.NET
    Версия 3.0. сборка 1039 (15.09.2015)

    • Тогда можно попробовать так:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *