Помогите Исправить Программу

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

Guest

#1
Задание:
Получить новый список, в котором первый элемент = сумме первого и второго исходного, второй элемент - сумме второго и предпоследнего и т.д.
Вот, собсно говоря, моя программа, первый элемент выводит верно, а остальные нет, прошу, помогите!
Код:
Type
Link=^Elem;
Elem=record
inf:integer;
lnext,rnext:Link;
end;
LinkNew=^ElemNew;
ElemNew=record
inf:integer;
next:LinkNew
end;
var
P,T,L,R:Link;
n,i:byte;
s:integer;
F,Pnew,Tnew:LinkNew;
begin
writeln('Введите количество элементов');
readln(n);
writeln('Введите ',n,' элементов');
new(P);
P^.lnext:=nil;
readln(P^.inf);
L:=P;
for i:=2 to n do
begin
new(T);
readln(T^.inf);
T^.lnext:=P;
P^.rnext:=T;
P:=T;
end;
T:=L;
new(F);
Pnew:=F;
for i:=2 to n div 2 do
begin
new(Tnew);
Pnew^.next:=Tnew;
Pnew:=Tnew;
s:=T^.inf+P^.inf;
T:=T^.rnext;
P:=P^.lnext;
end;
Pnew^.next:=nil;
writeln('Получен список:');
Pnew:=F;
while Pnew<>nil do
begin
write(s,' ');
Pnew:=Pnew^.next;
end;
writeln;
end.