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

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

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

type inArr = array[1..20] of Integer;
var  a: array [1..20] of integer;
    x, i, k, N , min, max: integer;
    res: boolean;

function SS(k: integer; a :inarr): boolean;    // принимает числа поиска до к и массив а. возвращает тру фолс
var t: integer; // счетчик поиска чисел
    flag: boolean;   // тру если элемент найден
begin
  writeln('k = ',k);
  writeln();
  for t := 0 to k do
    begin
      for i := low(a) to high(a) do
        begin
          if(t = a[i]) then
            begin
              flag := true; //элемент найден
              break;        //выход для проверки следующего числа
            end
          else
            flag := false;
        end;
        if(flag = false) then //если хоть раз вернулся фолс то функция вернет фолс
          break; //выйти и вернуть фолс
    end;
  result:= flag;
   writeln();
end;

begin
  min := 0;
  max := 30;
  randomize();
  for i := 1 to 20 do
    begin
      a[i] := random(max - min + 1) + min;
      N := i;
      write(a[i], ' ');
    end;

  writeln();
  writeln('vvedi chislo ot 0 do ', N);
  readln(k);
  if((k >= 0) and (k < N)) then
    begin
      res := SS(k,a);
      if(res) then
        writeln('est vse chisla ot 0 do ', k)
      else
        writeln('est NE vse chisla oy 0 do ', k);
    end
    else
      writeln('ERRORR');
  readln();
end.                     
vedro-compota's picture

решение засчитано

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