Вот что-то написал:
Это действительно бинарный поиск или бред какой-то, который правильно ищет? :)
int k=0, n=StringGrid2->RowCount,m;
flag=0;
while(1)
{
m=(n+k)/2;
if (strcmp(Edit1->Text.c_str(),StringGrid2->Cells[0][m].c_str())==NULL)
{
flag=1;
break;
}
if (strcmp(Edit1->Text.c_str(),StringGrid2->Cells[0][m].c_str())<0) n=m-1;
if (strcmp(Edit1->Text.c_str(),StringGrid2->Cells[0][m].c_str())>0) k=m+1;
}
if (flag==1) ShowMessage("Идентификатор <"+Edit1->Text+
"> имеет тип <"+StringGrid2->Cells[1][m]+">");
else ShowMessage("Идентификатор не найден!");
И вот ещё: если вводишь такой элемент, которого нет в таблице, то прога зависает. Может какое-то другое условие завершения цикла написать?
C условием окончания цикла разобрался, теперь скажите: я то сделал или нет? :)