type ptr=^element;
element = record
inf:integer;
link:ptr;
end;
var pred,p,pos:ptr;
i,n,k,j:integer;
a:array[byte]of byte;
begin
read(n);
new(p);
read(p^.inf);
p^.link:=nil;
pred:=p;
for i:=2 to n do
begin
new(p);
read(p^.inf);
p^.link:=pred;
pred:=p;
end;
pos:=p;
i:=n;
while (p<>nil) do
begin
a[i]:=p^.inf;
p:=p^.link;
i:=i-1;
end;
if n mod 2=0 then begin
for j:=1 to 2 do
begin
for i:=(n div 2)+1 to n-1 do
a[i]:=a[i+1];
n:=n-1;
end;
end else
begin
for i:=(n div 2)+1 to n-1 do
a[i]:=a[i+1];
n:=n-1;
end;
pred:=nil;
for i:=1 to n do
begin
new(p);
p^.inf:=a[i];
p^.link:=pred;
pred:=p;
end;
p:=pos;
while (p<>nil) do
begin
write(p^.inf,' ');
p:=p^.link;
end;
end.
Похожие записи/страницы:
- Дан файл вещественных. Вывести элементы его в обратном порядке используя стек - Pascal(Паскаль)
- В файл заносится неупорядоченный список абонентов телефонной сети в формате: фамилия, имя, отчество, адрес,…
- Добавление, удаление, редактирование, чтение списков - Pascal(Паскаль)
- Ввести текст. Переставить местами слова в каждом предложении (первое с последним, второе с предпоследним и т.д.)…
- Составить программу, выводящую на экран расписание экзаменов и зачетов (предмет, вид отчетности, число,…
- В файле дана запись (корректная) арифметического выражения, содержащая скобки, +, -, *, /, односимвольные имена…
- Составить программу, выводящую на экран расписание учителя (номер урока, время начала урока, класс, предмет,…
- Подсчитать в списке количество слов, содержащих цифры, а затем удалить все цифры списка - Pascal(Паскаль)