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

Урок 15

Дан массив длиной N (не более 100 элементов). Проверить, что в нем в
встречаются все числа от 0 до k, где 0

type myArr = array of integer;
var n,k: integer;
    a: myArr;

procedure printArray(a1: myArr); //п-а печати массива
  var i1: integer;

  begin
    for i1 := low(a1) to high(a1) do
      write(a1[i1], ' ');
  end;

function f1(n1: integer; a1: myArr): myArr; // ф-я создаем массив размером N
  var i1: integer;

  begin
    SetLength(a1, n1); // устанавливаем новую длину массива
    randomize();
    for i1 := low(a1) to high(a1) do //создаем массив
      a1[i1] := random(n1 + 1);
    result := a1;
  end;

function f2(k1: integer; a1: myArr): boolean; //ф-я проверки, что есть все числа
  var i1, j1: integer;
      s: boolean;

  begin
    s := false;
    for i1 := 0 to k1 do
    begin
      s := false;
      for j1 := low(a1) to high(a1) do
        if i1 = a1[j1] then
        begin
          s := true;
          break;
        end;
      if s = false then
        break;
    end;
    result := s;
  end;

  begin
    writeln('Введите длину массива от 1 до 100');
    readln(n);
    writeln('Введите число k: 0 <= k < 100');
    readln(k);
    a := f1(n, a);
    printArray(a);
    writeln();
    writeln('Все числа от 0 до k встречаются: ', f2(k, a));
    readln();
  end.

КОНСОЛЬ

Введите длину массива от 1 до 100
15
Введите число k: 0 <= k < 100
7
13 10 1 10 0 12 13 11 13 14 14 6 1 2 0
Все числа от 0 до k встречаются: FALSE
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)