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

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

Дан массив длиной N (где 10≤N

В качестве ответа (если отрезок найден) получите его начальный и конечных индекс - m
и p ( 1≤m

Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (процедуру, которая вычислит нужные индексы, если есть)

type Arr=array [1..30] of integer;
var i, k, min, max,m, p:integer;
    a: Arr;

function proverka(b:arr; j, z:integer; var c,d: integer): boolean;
var l, f, t:integer;
begin
  F:= 10;
  result:= true;
  for t:=1 to j do
  begin
    for l:= z to f+z do
      if b[l]=t then
      begin
        if l>p then
        begin
          p:=l;
          m:=l-f;
        end;
        break;
      end
      else if l=(f+z) then
        result:= false;
    if result= false then
      break;
  end;
end;

begin
  randomize();
  min:=1;
  max:=60;

  for i:=low(a) to high(a) do
  begin
    a[i]:= min+random(max-min+1);
    write(a[i],' ');
  end;

 { a[10]:=0;
  for i:=10 to 15 do    //посмотреть, что будет, если все числа найдутся
    a[i+1]:=a[i]+1;  }

  k:=5;
  m:=30;
  for i:=1 to 20 do
  if proverka(a,k,i, m, p) then
  begin
    writeln('m=',m,' ','p=',p);
    break;
  end
  else if i=20 then
    writeln('net takogo ychastka');
  readln();
end.