помогите пожалуйста поправить код программы, мне нужно что бы программа брала мои значения, сравнивала и если они одинаковые то выводила
char *nm1;
int ln=strlen(Edit6->Text.c_str());
nm1=new char[ln+1];
strcpy(nm1,Edit6->Text.c_str());
nm1[ln]='\0';
char *av1;
int la=strlen(Edit7->Text.c_str());
av1=new char[la+1];
strcpy(av1,Edit7->Text.c_str());
av1[la]='\0';
ls.find1(nm1,av1,Label1);
и сама функция
void list::find1(char *nm1, char *av1, TLabel *mem)
{
kniga *t;
t=first;
while (t)
{
if ((nm1==t->name)|| (av1==t->avtor))
mem->Caption=(AnsiString(t->name)+" "+AnsiString(t->avtor)+" находится на "+IntToStr(t->stel));
t=t->next;
}
}