У меня есть эта проблема: в супружеском браке 5 человек, чтобы получить лучший выбор, каждому из которых предлагается ответить на 10 вопросов с несколькими вариантами ответов с 4 вариантами: A, B, C, D. Теперь лучший матч относится к человеку, имеющему самый высокий «коэффициент сходства» (sf). Например, если Дик и Лиза получили 6 правильных ответов, и sf = 3 (> 6), то Дик и Лиза - хорошие потенциальные партнеры, аналогично мы должны найти других партнеров, так как ответы могут быть 5, 4 или, по крайней мере, 3 такими же исправить как Лиза, так как sf = 3.
members is a string array having list of all members, first field is name, next is sex,
next are answers to multiple choice questions:
For this, i have a string array called "members"
members[ ] = {"Dick, M, A, B, C, A, B...(10 answers)",
"Lisa, F, A, D, C, B, B...(10 answers)",
"Harry,M, A, B, A, D, C...(10 answers)",
"Mira",F, A, B, C, C, A...(10 answers)"
.
.
<snip>
};
Первое поле в строке - это имя, во втором - пол, M или F, в остальных - 10 ответов на вопросы с несколькими вариантами ответов.
Теперь, используя STL, какой самый быстрый способ найти фактор сходства (те же ответы в вопросах с несколькими вариантами ответов)?
Я знаю о строковом токенизации и добавлении этих отдельных полей в вектор STL. Но как найти фактор сходства? Я знаю общепринятые способы (обходя один за другим и проверяя), но есть ли быстрый способ сравнения с использованием STL?
Фрагмент кода окажет огромную помощь.
Заранее спасибо.