GRIPH » 10 апр 2009, 17:48
В общем на кнопку забил процедуру:
Код: Выделить всё
procedure TForm1.Button8Click(Sender: TObject);
var
L,R,m,x,N:integer;
found:boolean;
begin
x:=StrToInt(Edit2.Text);
L:=0;
N:=Length(Arr);
R:=N-1;
found := FALSE;
WHILE (L <= R) AND NOT found DO
m := (L + R) div 2;
IF Arr[m] = x THEN
begin
found := TRUE;
IF Arr[m] < x THEN L := m+1
ELSE R := m-1;
End;
if found then ShowMessage('FOUND!') else ShowMessage('Not FOUND!');
End;
Искать, он ищет, но выводить сообщение не хочет. И ещё помогите как узнать номер найденного элемента. Т.е. если найдет, то каким по счету он стоит в массиве.
Массив динамический. Берется из списка TList.
В общем на кнопку забил процедуру:
[code]procedure TForm1.Button8Click(Sender: TObject);
var
L,R,m,x,N:integer;
found:boolean;
begin
x:=StrToInt(Edit2.Text);
L:=0;
N:=Length(Arr);
R:=N-1;
found := FALSE;
WHILE (L <= R) AND NOT found DO
m := (L + R) div 2;
IF Arr[m] = x THEN
begin
found := TRUE;
IF Arr[m] < x THEN L := m+1
ELSE R := m-1;
End;
if found then ShowMessage('FOUND!') else ShowMessage('Not FOUND!');
End;[/code]
Искать, он ищет, но выводить сообщение не хочет. И ещё помогите как узнать номер найденного элемента. Т.е. если найдет, то каким по счету он стоит в массиве.
Массив динамический. Берется из списка TList.