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

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

Дан массив длиной N (не более 100 элементов). Проверить, что в этом массиве на отрезке индексов от m до p ( 1m<pN, считая что массив индексируется с единицы) встречаются все числа от 0 до k, где 0k<N.

var i, n, k, m, p: integer;
  z: boolean;
  a: array of integer;
begin
  randomize();
  write('Введите длину массива N не более 100: ');
  readln(n);
  write('Введите первый индекс m, 0<=m<N: ');
  readln(m);
  write('Введите первый индекс p, m<p<=N: ');
  readln(p);
  SetLength(a, n);
  for i := 0 to n - 1 do a[i] := random(n + 1);
  k := random(n);
  write('Массив: ');
  for i := 0 to n - 1 do write(a[i], ' ');
  writeln();
  writeln('k=', k);
  repeat
   z := false;
   for i := m to p do
    if a[i] = k then z := true;
   if z then k -= 1
   else break;
  until k < 0;
  if k = -1 then writeln('Массив правильный')
  else writeln('Массив неправильный');
  readln();
end.