Наверно примерно так для понимания задачи:
CODE:
int result;//результат сравнения
string a="_qweAty";//эту строку сравниваем с массивом b для поиска наиболее похожего
string b[200];
b[0]="qwerty";//---result 5+?(5 символов совпали. qwe+ty)
b[1]="ytaewq";//---result 0 или 1(т.к. 1 символ совпадет, но нет последовательности как в string a)
b[2]=".qver.ty";//-result 4+?(т.к.q+e+ty есть в string a)
b[3]="qwsdfth";//--result 3+?(qw и t)
b[4]="qwezsdf";//--result 3+?(три последовательно идущих символа должны быть в приоритете над просто совпадением с 3 символами)
b[5]="tyqwer";//---result ? ty и qwer не в такой же последовательности как в string a и дожен учитываться только 1 из них(с самым большим количеством последовательно идущих символов)
/*еще одна проблема:
string a=".QW";//----3 символа например
b[0]="sdfgdQWsef";//-строка длинная и есть, например, совпадение 2 символов
b[1]="QW";//---------b[1] должен быть в приоритете над b[0]
b[2]="oW";//---------b[2] тоже должен быть в приоритете над b[0] т.к. длина более подходит
*/
char char_a[20];
char char_b[20];
strcpy(#char_a[0], a);
int arr_size_char_a=size(#char_a[0]);
r_mass_b=sizearray(b);
for(int n=0; n<r_mass_b; n++)
{
strcpy(#char_b[0], b[n]);
int arr_size_char_b=size(#char_b[0]);
for(int n1=0; n1<arr_size_char_a; n1++)
{
for(int n2=0; n2<arr_size_char_b; n2++)
{
if(char_a[n1]==char_b[n2])//???...
{
/*
сравнивать и потом хз...
*/
}
}
}
}
messagebox(result);
int result;//результат сравнения
string a="_qweAty";//эту строку сравниваем с массивом b для поиска наиболее похожего
string b[200];
b[0]="qwerty";//---result 5+?(5 символов совпали. qwe+ty)
b[1]="ytaewq";//---result 0 или 1(т.к. 1 символ совпадет, но нет последовательности как в string a)
b[2]=".qver.ty";//-result 4+?(т.к.q+e+ty есть в string a)
b[3]="qwsdfth";//--result 3+?(qw и t)
b[4]="qwezsdf";//--result 3+?(три последовательно идущих символа должны быть в приоритете над просто совпадением с 3 символами)
b[5]="tyqwer";//---result ? ty и qwer не в такой же последовательности как в string a и дожен учитываться только 1 из них(с самым большим количеством последовательно идущих символов)
/*еще одна проблема:
string a=".QW";//----3 символа например
b[0]="sdfgdQWsef";//-строка длинная и есть, например, совпадение 2 символов
b[1]="QW";//---------b[1] должен быть в приоритете над b[0]
b[2]="oW";//---------b[2] тоже должен быть в приоритете над b[0] т.к. длина более подходит
*/
char char_a[20];
char char_b[20];
strcpy(#char_a[0], a);
int arr_size_char_a=size(#char_a[0]);
r_mass_b=sizearray(b);
for(int n=0; n<r_mass_b; n++)
{
strcpy(#char_b[0], b[n]);
int arr_size_char_b=size(#char_b[0]);
for(int n1=0; n1<arr_size_char_a; n1++)
{
for(int n2=0; n2<arr_size_char_b; n2++)
{
if(char_a[n1]==char_b[n2])//???...
{
/*
сравнивать и потом хз...
*/
}
}
}
}
messagebox(result);
Подскажите как это реализовать? Может есть еще какие-нибудь решения?