Даны действительные а1, …, а18. Получить: а1, а18, а2, а17, …, а9, а10 — Pascal(Паскаль)

var a,b:array[1..18] of real;
i,j,k:integer;
Begin
for i:=1 to 18 do readln(a[i]);
i:=1; j:=18;k:=1;
while k<=18 do
begin
if k mod 2 =1 then begin b[k]:=a[i];i:=i+1;end
else begin b[k]:=a[j]; j:=j-1;end;
k:=k+1;
end;
for i:=1 to 18 do writeln(b[i]);
readln;
end.

Следующий вариант

uses crt;
const n=18;
var a:array[1..n] of real;
    i,j:byte;
    x:real;
begin
clrscr;
randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=10*random;;
  write(a[i]:4:1);
 end;
writeln;
writeln;
i:=2;
while i<=n do
 begin
  x:=a[n];
  for j:=n downto i+1 do
  a[j]:=a[j-1];
  a[i]:=x;
  i:=i+2;
 end;
writeln('Перестановка:');
for i:=1 to n do
write(a[i]:4:1);
readln
end.

Leave a Comment

52 − 48 =