Задача 9 Урок 15

Задача 9 урок 15

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

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

Например:

|1|3|7|5|4| // исходный массив
3 // ввод пользователя
|1|3|5|4|0| // промежуточный результат
3 // ввод пользователя
|1|3|4|0|0| // промежуточный результат
2 // ввод пользователя
|1|4|0|0|0| // промежуточный результат
1 // ввод пользователя
|4|0|0|0|0| // промежуточный результат
1 // ввод пользователя
|0|0|0|0|0| // промежуточный результат
// Cообщение о завершении, т.к. все элементы удалены

-- в данном случае программа завершилась, так как удалены все элементы.
Если бы пользователь ввел число 10 или -5 - то это тоже была бы ситуация для завершения, но элементы в массиве ещё бы остались.

program U15Z9;
var a: array [1..5] of integer;
    i,n,j: integer;
begin
  randomize();
  for i:=1 to 5 do
    begin
      a[i]:=random(11)+1;
      write(a[i],'|');
    end;
  writeln();
  while a[1]<>0 do
    begin
      write('vvedite chislo: ');
      readln(n);
      if (1<=n) and (n<=5) then
        begin
          for i:=n to 5 do
            a[i]:=a[i+1];
            writeln(a[1],'|',a[2],'|',a[3],'|',a[4],'|',a[5]);
        end
      else break;
    end;
  writeln('programma zavershena');
  readln();
end.