program P56_27;
{--------------------------------------------------------------
    Se da un vector cu n (1 <= n <= 100) componente nr intregi.
    a) Sa se permute circular cu o pozitie la dreapta
       componentele vectorului
       (de exemplu, 1 2 3 4 5 devine 5 1 2 3 4)
    b) Sa se permute circular cu o pozitie la stanga
       componentele vectorului
       (de exemplu, 1 2 3 4 5 devine 2 3 4 5 1)
 --------------------------------------------------------------}

uses crt;
const nm = 100;
var A, B: array[1..nm] of integer;
    e: integer;
    n, i: 1..nm;
begin
  clrscr;
  write('n = ');readln(n);
  for i:=1 to n do begin
    write(i:3,': ');
    readln(A[i]);
    B[i] := A[i]; {Dublarea tabloului A}
  end;

 {A) Permutarea circulara la dreapta}
  e := A[n];
  for i := n downto 2 do A[i] := A[i-1];
  A[1] := e;

  {Afisarea}
  writeln;  writeln;
  for i:=1 to n do write(A[i]:5);

 {B) Permutarea circulara la stanga}
  e := B[1];
  for i := 2 to n do B[i-1] := B[i];
  B[n] := e;

  {Afisarea}
  writeln;  writeln;
  for i:=1 to n do write(B[i]:5);

  readkey;
end.