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

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

условие отражается некорректно. см задачник

15 - 15 Дан массив длиной N (не более 100 элементов). Проверить, что в этом массиве на отрезке индексов от m до p ( 1 ≤ m

const N = 15;
const K = 4;
const M = 4;
const P = 10;
type myArr  = array[1..N] of integer;

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

function arrayCheck(arr:myArr; k,m,p:integer): boolean;
var i,j: integer;
    numFlag, sequenceFlag:boolean;
    tempArr: myArr;
  begin
    for i:= 1 to high(tempArr) do
      tempArr[i] := 0;

    for j:=0 to k do     // все числа от 0 до k
      for i:=m to p do    // на отрезке индексов от m до p
        if (j = arr[i]) then
          begin
            tempArr[i]:= j;
            numFlag:= true;
            sequenceFlag:= true;  // если последовательность не прерывается
            break;
          end
        else
            numFlag:= false;

    writeln();
    print (tempArr, 'temporary array: ');

    result:= (sequenceFlag AND numFlag);
  end;

var
  i:integer;
  arr: myArr;
begin
  randomize;
  for i:= low(arr) to high(arr) do
    arr[i] := random(k+1);
  writeln('N=', n, ' ' ,'K=', k, ' ','M=', m, ' ','P=',p );
  print(arr, 'original arr');
  writeln('array check: ', arrayCheck(arr, k, m, p));
  readln();
end.
//N=15 K=4 M=4 P=10
//original arr
//1 2 2 0 0 1 4 4 3 2 4 3 1 3 2
//array check:
//temporary array:
//0 0 0 0 0 1 4 0 3 2 0 0 0 0 0
//TRUE

//N=15 K=9 M=4 P=10
//original arr
//1 3 9 5 3 8 0 1 8 3 3 3 0 2 3
//array check:
//temporary array:
//0 0 0 5 3 8 0 1 0 0 0 0 0 0 0
//FALSE