Я ищу алгоритм, в котором я могу сравнить две строки и прочитать ошибки.
Я знаю обычный код для сравнения двух строк, но этого недостаточно.
Пример:
NSString *userinput = @"xaplseiPhonr";// (Input from the user)
NSString *correct =@"apple iphone";
На следующем шаге я проверю эти строки и выложу ошибки для этого примера: x,l,s, ,r = 5 неудачников.
Я многое тестировал, сохранял две строки в массив с двумя циклами for и сравнивал, но что-то не так, самое сложное, если в слове есть 2 одинаковые буквы. Или, если у вас нет динамического поиска по индексу, то целые буквы после «l» или отсутствующего пробела в пользовательском вводе ложны и так далее.
Итак, было бы неплохо, если бы у кого-нибудь был хороший код для меня.
редактировать: код для сравнения, но это не работает, если вы пропустили букву или пробел.
for (int i = 0; i < [originalWordLetters count]; i++)
{
NSString *originalLetter = [originalWordLetters objectAtIndex:i];
//NSLog(@"%i: %@", d, originalLetter);
BOOL letterFound = FALSE;
while (letterFound == FALSE && d < [userWordLetters count])
{
if ([originalLetter caseInsensitiveCompare:[userWordLetters objectAtIndex:d]] == NSOrderedSame)
{
//NSLog(@"letter %i correct", d+1);
letterFound = TRUE;
}
else
{
//NSLog(@"letter %i false", d+1);
failedLetters++;
}
d++;
}
}
У меня есть рабочий алгоритм, в котором вы можете сравнить две строки. И потушить ошибки
Я загрузил пример проекта на GitHub: NSString compareTwoStrings: алгоритм выводит ошибки