• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача. Pascal

  • Автор темы Автор темы MAXI
  • Дата начала Дата начала

MAXI

Новые
Регистрация
22 Авг 2013
Сообщения
22
Реакции
0
Баллы
0
Задача. Pascal

Перенести в конец непустого списка L его первый элемент.
 
type PRec=^TRec;
TRec= record
mint: integer;
mnext: PRec;
end;
var L:PRec;
procedure InitL(ai: integer);
var p:PRec;
begin
New(p);
p^.mint:=ai;
p^.mnext:=L;
L:=p;
end;
procedure AddL;
var p1,p2:PRec;
k:integer;
begin
if Assigned(L) then
begin
p1:=L;
p2:=p1;
While Assigned(p1^.mnext) do
begin
p2:=p1;
p1:=p1^.mnext;
end;
end;
k:=p1^.mint;
p2^.mnext:=nil;
Dispose(p1);
InitL(k);
end;
procedure PrintL;
var q:PRec;
begin
q:=L;
While Assigned(q) do
begin
Write(q^.mint:4);
q:=q^.mnext;
end;
end;
var i: integer;
begin
L:=nil;
for i:=1 to 10 do
InitL(i);
PrintL;
Writeln;
AddL;
PrintL;
Readln;
end.
 
Последнее редактирование:
Назад
Сверху