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

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

Дан массив длиной N (не более 100 элементов). Проверить, что в нем в встречаются все числа от 0 до k, где 0≤k Указание: Проверку массива на соответствие условиям задачи вынести в подпрограмму (функцию)

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

var
  min, max, i, j, k: integer;
  a: myArr;

function searchNum(k: integer; a: myArr): boolean;
begin
  for i := 0 to k do
  begin
    result := false;
    for j := 1 to high(a) do
      if i = a[j] then
      begin
        result := true;
        break;
      end;
    if result = false then
      break;
  end;
end;

begin
  randomize();
  min := 0;
  max := 10;
  for i := low(a) to high(a) do
    a[i] := min + random(max - min + 1);
  writeln('enter k');
  readln(k);
  if (searchNum(k, a)) then
    write('all meets')
  else
    write('not all');
  writeln;
  for i := low(a) to high(a) do
    write(a[i], ' ');
  writeln();
  write('end');
  readln();
end.          

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

enter k
10
all meets
5 10 2 7 6 3 7 6 10 2 3 3 8 1 7 3 3 3 7 5 5 9 0 3 7 3 8 1 9 10 8 10 4 10 10 3 7 9 7 3 5 7 2 3 1 4 6 10 7 1 4 6 1 5 8 1 3 10 9 8 0 6 7 6 1 7 4 9 7 1 10 4 6 8 8 6 7 10 4 7 4 7 6 1 6 4 3 5 8 9 2 2 8 3 6 4 1 0 6 7
end