Шаблон программы:
// здесь - типы и функции поиска 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. Для корректности проверки примеров обеспечить заполнение исходных массивов заранее отсортированными данными.