(Я новичок в C++). У меня уже есть правильное количество несоответствий, и все в моей программе работает нормально, но когда я пытаюсь вычислить его, процент появляется как 0. Это часть моего кода (в частности, единственная часть, дающая проблемы). Может ли кто-нибудь объяснить мне, что я делаю неправильно?Процентное сходство между двумя строками
if(input.length() >= input2.length())
{
percentage = (uiLevenshteinDistance(input,input2)/input.size())*100;
cout << "These sequences are " << percentage << "% similar." << endl;
}
else if(input2.length() >= input.length())
{
percentage = (uiLevenshteinDistance(input,input2)/input2.size())*100;
cout << "These sequences are " << percentage << "% similiar." << endl;
}
Целое подразделение. '1/2' дает' 0'. – juanchopanza
Вы пытаетесь разделить два целых числа? Если вы хотите получить результат с плавающей запятой, вам нужно сначала поместить хотя бы одно из целых чисел в 'float' или' double'. – MatthewD
Этот вопрос не имеет никакого отношения к расстоянию Левенштейна. –