Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int isSimilar(wchar_t** a, int aSize, wchar_t** b, int bSize, int misses){
- if(misses<0)
- return misses;
- if(aSize <= 0 || bSize <= 0)
- return misses - (aSize>bSize) ? aSize : bSize;
- while(!wcscmp(*a, *b)){
- a++;
- aSize--;
- b++;
- bSize--;
- if(aSize <= 0 || bSize <= 0)
- return misses;
- }
- int aRes = isSimilar(a+1, aSize-1, b, bSize, misses-1);
- int bRes = isSimilar(a, aSize, b+1, bSize-1, misses-1);
- int cRes = isSimilar(a+1, aSize-1, b+1, bSize-1, misses-1);
- int maxSimilar = (aRes>bRes) ? aRes : bRes;
- maxSimilar = (maxSimilar > cRes) ? maxSimilar : cRes;
- return maxSimilar;
- }
- int findSimilar(Text *txt, Sentence *stc){
- for (int i = 0; i<txt->size; i++){
- int status = isSimilar(txt->text[i].sentence, txt->text[i].size, stc->sentence, stc->size, 1);
- if(status>=0)
- return i; //Найдено предложение с индексом i
- }
- return -1; //Предложений не найдено
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement