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

Задача 11 Урок 15 :

Заполнить массив из 9 элементов случайными числами из диапазона от нуля до N, и затем удалите из этого массива все элементы равные M причем удаление необходимо производить "сдвигом" влево оставшихся элементов на позиции элементов, совпавших с M.

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

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,b: myArr;
   i,n,c: integer;
   min,max,m:integer;
begin
  writeln('Vvedite N');
  readln(n);
  randomize();
  min := 1;
  max := n;
  for i:=low(a) to high(a) do
    a[i] := min + random(max - min + 1);
  writeArr(a,'original array: ');
  repeat
    writeln('vvedite chislo');
    readln(m);
    writeln('chislo',' ', m);
    for i:=1 to high(a) do
      if a[i]=m then
        c:=i;
    for i:=c to high(a) do
      a[i]:= a[i+1];
    a[high(a)]:=0;
    b:=a;
    writeArr(b,'array modify: ');
  until a[1]=0;
  writeln ('End');
  readln();
end.     

Вывод консоли:

Vvedite N
16
original array:
14 14 4 8 13 2 8 9 4
vvedite chislo
14
chislo 14
array modify:
14 4 8 13 2 8 9 4 0
vvedite chislo
14
chislo 14
array modify:
4 8 13 2 8 9 4 0 0
vvedite chislo
4
chislo 4
array modify:
4 8 13 2 8 9 0 0 0
vvedite chislo
8
chislo 8
array modify:
4 8 13 2 9 0 0 0 0
vvedite chislo
13
chislo 13
array modify:
4 8 2 9 0 0 0 0 0
vvedite chislo
4
chislo 4
array modify:
8 2 9 0 0 0 0 0 0
vvedite chislo
8
chislo 8
array modify:
2 9 0 0 0 0 0 0 0
vvedite chislo
2
chislo 2
array modify:
9 0 0 0 0 0 0 0 0
vvedite chislo
9
chislo 9
array modify:
0 0 0 0 0 0 0 0 0
End