Ввести пять элементов записи и вывести их - Pascal
Формулировка задачи:
Здравствуйте. Коснулся указателей, во взаимодействии с записями, что-то понял, что-то нет. Гляньте описание проги, все ли там правильно я понял. Программа вводит 5 элементов и просто их выводит. Спасибо.
type Adr = ^Zveno; //создаем переменную ссылочного типа на запись Zveno = Record //создаем запись с двумя элементами Element: integer; //элемент целочисленного типа Adrs: Adr //элемент (переменная) ссылочного типа на переменную ссылочного типа??????????????????????? End; //какой адрес я туда пишу??????????? var Adr1,p,: Adr; //переменные ссылочного типа на тип аdr i:integer; //-----------------процедура ввода данных----------------------- procedure adduk(var t:adr;i:integer); //партаметры переменные t-принимает вначале nil var y:adr; //создаем переменную ссылочного типа begin new(y); //динамическая y^.Element:=i; //добавляем элемент y^.Adrs:=t; // присваиваем переменной adrs адрес nil- вначале, затем адрес y t:=y; // возвращаем adr1 адрес в y и так 5 раз end; //------------------процедура вывода данных---------------------- procedure vivod(var t:adr); //принимаем адрес begin while (t<>nil) do //пока адрес не равен нил begin writeln('адрес адр1 ',t,' элемент ',t^.Element,' адрес^.адр1 ',t^.Adrs); t:=t^.Adrs; //переходим к следующему адресу - вот тут вообще не догоняю каким образом он это делает end; //если можно графически изобразить???????????? end; //--------------------основная программа------------------------ begin //ну тут все понятно for i:=1 to 5 do begin adduk(adr1, i); writeln('адрес адр1 ',adr1,' элемент ',adr1^.Element,' адрес^.адр1 ',adr1^.Adrs ); end; vivod(adr1); dispose(adr1); end.
Решение задачи: «Ввести пять элементов записи и вывести их»
textual
Листинг программы
procedure vivod(t: adr);
Объяснение кода листинга программы
- Объявляется процедура
vivod
с параметромt
, который является переменной типаadr
. Так как объявленным только заголовок процедуры и отсутствует остальной код, то без дополнительной информации о типеadr
и действиях внутри процедуры, сложно точно определить, что делает этот код.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д