На
program EnhancedSearchExample;
uses
SysUtils;
const
N = 10;
var
arr: array[1..N] of Integer;
res: array of Integer;
i, lb, ub, ch: Integer;
procedure InitArray;
begin
Randomize;
for i := 1 to N do arr[i] := Random(100);
end;
procedure PrintArray(a: array of Integer);
begin
if Length(a) = 0 then Writeln('Массив пуст.')
else for i := Low(a) to High(a) do Write(a[i], ' ');
Writeln;
end;
procedure SearchArray(l, u: Integer);
begin
SetLength(res, 0);
for i := 1 to N do
if (arr[i] >= l) and (arr[i] <= u) then
begin
SetLength(res, Length(res) + 1);
res[High(res)] := arr[i];
end;
end;
begin
InitArray;
repeat
Writeln('1. Показать массив');
Writeln('2. Поиск в диапазоне');
Writeln('3. Выйти');
Write('Выбор: ');
Readln(ch);
case ch of
1: PrintArray(arr);
2: begin
Write('Нижняя граница: '); Readln(lb);
Write('Верхняя граница: '); Readln(ub);
SearchArray(lb, ub);
if Length(res) > 0 then PrintArray(res)
else Writeln('Нет подходящих записей.');
end;
end;
until ch = 3;
end.