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

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

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

var
    i, j, k, N: integer;
    m, p: integer;
    arr: array[1..30] of integer;
begin
   randomize();
   k:= 10;//ограничение диапазона поиска
   j:= 0;
   N:= 30;//ограничение диапазона случайных чисел
   m:= 2;//начальный индекс диапазона
   p:= 28;//конечный индекс диапазона
   for i:= low(arr) to high(arr) do
    begin
      arr[i]:= random(N);
      write(arr[i], ' ');
    end;
   writeln();
   writeln();
   for i:= m to p do
     begin
       for j:= 0 to k do
         begin
           if (arr[i] >= 0) and (arr[i] <= k) then
              begin
                writeln(arr[i]);
                break;
              end;
         end;
     end;
   readln();
end.   
vedro-compota's picture

оформить как функцию, возвращающую boolean

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

Сделал функцию которая проверяет наличие элемента, и возвращает boolean

type
  arr = array[1..30] of integer;
var
  i, k, N: integer;
  m, p: integer;
  a: arr;
function coincidence(var mas: arr; g, f: integer):boolean;
var
  flag: boolean;
  j: integer;
begin
  flag:= false;
  for j:= 1 to g do
  begin
     if (mas[f] >= 0) and (mas[f] <= g) then
     begin
        flag:= true;
        break;
     end;
  end;
result:= flag;
end;
begin
   randomize();
   k:= 10;//ограничение диапазона поиска
   N:= 30;//ограничение диапазона случайных чисел
   m:= 2;//начальный индекс диапазона
   p:= 28;//конечный индекс диапазона
   for i:= low(a) to high(a) do
    begin
      a[i]:= random(N);
      write(a[i], ' ');
    end;
   writeln();
   writeln();
   for i:= m to p do
     begin
       if (coincidence(a, k, i)) then
          write(a[i], ' ');
     end;
   readln();
end.            
vedro-compota's picture

function coincidence(var mas: arr; g, f: integer):boolean;

проверить по числу переменных

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