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

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

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

считая что массив индексируется с единицы) встречаются все числа от 0 до k,
где 0≤k

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

type
  arr1 = array [1..100] of integer;

var
  min, max, i, k, l, r : integer;
  a : arr1;

function function1 (k, l, r : integer; a : arr1) : boolean;
var
  j : integer;
begin
  for i := 0 to k do
  begin
    for j := l to r do
      if i = a[j] then
      begin
        result := true;
        break;
      end
      else
      begin
        result := false;
      end;
    if result = false then
      break;
  end;
end;

begin
  randomize();
  min := 0;
  max := 100;
  for i := low(a) to high(a) do
    a[i] := min + random(max - min + 1);
  writeln('Введите число');
  readln(k);
  writeln('Введите границы отрезка');
  read(l, r);
  if function1(k, l, r, a) = true then
    write('Встречаются все')
  else
    write('Встречаются не все');
  writeln;
  for i := low(a) to high(a) do
    write(a[i], ' ');
  writeln;
  write('Программа завершила свою работу');
  readln();readln();
end.