Задание 9 Урок 15. Одномерные массивы

Урок 15. Одномерные массивы

{15 - 9 Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 --
удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа,
сдвигая оставшиеся элементы второго массива влево, заполняя то, что справа нулями.
Распечатывайте промежуточной состояние массива, после каждого удаления.

Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов
или пока пользователь не введет число большее чем 5 или меньшее чем 1. }

type myArr  = array[1..5] of integer;

function arrMod(arr: myArr; n: integer):myArr;
var i:integer;
begin
  for i:=n to high(arr) do
    arr[i]:= arr[i+1];
  arr[high(arr)]:=0;
  result:=arr;
end;

procedure writeArr(arr: myArr; msg:string);
var i:integer;
begin
    writeln(msg);
    for i:=low(arr) to high(arr) do
      write(arr[i], ' ');
    writeln();
   end;

var
  a: myArr;
  i,n: integer;
begin
  randomize;
  for i:=low(a) to high(a) do
    a[i]:= random(88);
  writeArr(a,'original array: ');
  while (a[low(a)] <> 0) do
    begin
      writeln('write 1 < your num < 5');
      readln(n);
      if (n <=5 ) and (n >= 1) then
        begin
          a:=arrMod(a,n);
          writeArr(a,'array modify: ');
        end
      else
        begin
          writeln('incorrect num');
          break;
        end;
    end;
  writeln('over');
  readln();
end.
//original array:
//86 54 21 42 51
//write 1 < your num < 5
//3
//array modify:
//86 54 42 51 0
//write 1 < your num < 5
//4
//array modify:
//86 54 42 0 0
//write 1 < your num < 5
//4
//array modify:
//86 54 42 0 0
//write 1 < your num < 5
//1
//array modify:
//54 42 0 0 0
//write 1 < your num < 5
//1
//array modify:
//42 0 0 0 0
//write 1 < your num < 5
//1
//array modify:
//0 0 0 0 0
//over