Шаблон программы:
// здесь - типы и функции поиска
var a:array of array of integer;
i,j:integer;
const N=10;
begin
setLength(a,N);
// создание элементов массива
for i:=0 to N-1 do begin
setlength(a[i],N);
for j:=0 to N-1 do a[i][j]:=random(10);
end;
// Вывод
for i:=0 to length(a)-1 do begin
for j:=0 to length(a[i])-1 do write(a[i][j]:3);
writeln;
end;
writeln;
// здесь - поиск, например в следующем виде: found:=SearchLineDyn(TDataArray(a),@test);
// здесь - обработка результатов поиска
end.
type
TestBinFunction=function(element:pointer):integer;
// TestBinFunction возвращает
// 0 - если элемент соответствует критерию,
// отрицательное число - если меньше критерия,
// положительное число - если больше критерия
TDataArray=array of pointer;
TIndexArray=array of integer;
function SearchBinDyn(const a:TDataArray; test:TestBinFunction):TIndexArray;
begin
...
end;
Проверить работу SearchBinDyn на лекционных примерах, где демонстрировались возможности
SearchLineDyn. Для корректности проверки примеров обеспечить заполнение исходных массивов заранее отсортированными
данными.