Создать связанный список из записей, содержащих данные телефонного справочника - Free Pascal
Формулировка задачи:
program Ukazateli_Spisok; uses Crt; type Llist = ^List; //указатель на тип Llist List = record nam: string[10];//имя в справочнике int: int64; //номер телефона Link: Llist; //для сохран.адреса след.записи или nil end; var a, b, c : Llist; //переменные-указатели типа Llist i, // i для цикла For n : integer; //n количество вводимых записей BEGIN ClrScr; Write('Введите кол-во записей -> '); Readln(n); //вводим количество записей в списке new(a); //выделяем память для ПУ(переменная-указатель) а b:= a; //запоминаем адрес начала списка в ПУ b {начинаем заполнять список} for i:=1 to n do begin write('введите ',i,' имя -> '); readln(a^.nam); write('введите ',i,' номер -> '); readln(a^.int); a^.link:= nil; //в конец последней записи ставим nil(конец) {если не последняя запись,то в конец списка доб.новую запись} if i < n then begin c:= a; //адрес последней записи а передаем в ПУ с new(c^.link); //выделяем память для новой записи a:= c^.link; //передаем адрес новой записи в ПУ а end; // if end; // For writeln; writeln('вывод инфы'); writeln; a:= b; //адрес начала списка из ПУ b передаем в ПУ а while a <> nil do begin //выводим всю инфу из списка пока не конец write(a^.nam); writeln(a^.int:12); a:= a^.link; //переходим к следующей записи end;// while dispose(a);dispose(c);//освобождаем память выделенную для ПУ а и с writeln('вы вышли из проги Enter -> '); readln; END.
Небольшое уточнение
20 строку программы a^.link:= nil
лучше поставить в 28 строку т.е.
после цикла заполнения списка
чтобы меньше было лишних телодвижений
Решение задачи: «Создать связанный список из записей, содержащих данные телефонного справочника»
textual
Листинг программы
{$mode delphi} // Это обязательно !!! unit RecUnit; interface type Rec = record nam : string[10]; int : int64; class operator Equal(A, B : Rec) : boolean; end; implementation class operator Rec.Equal(A, B : Rec) : boolean; begin result := (A.nam = B.nam) and (A.int = B.int); end; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д