How to shift elements of an array to the right by one position in Pascal

1 Answer

0 votes
program ShiftArrayRight;

procedure ShiftRight(var arr: array of Integer);
var
  i, last: Integer;
begin
  last := arr[High(arr)];
  for i := High(arr) downto 1 do
    arr[i] := arr[i - 1];
  arr[0] := last;
end;

procedure PrintArray(const arr: array of Integer);
var
  i: Integer;
begin
  for i := 0 to High(arr) do
    Write(arr[i], ' ');
  Writeln;
end;

var
  nums: array[0..6] of Integer = (0, 1, 2, 3, 4, 5, 6);

begin
  ShiftRight(nums);
  PrintArray(nums);
end.



(*
run:

6 0 1 2 3 4 5 
 
*)

 



answered Jun 27 by avibootz
...