frost18
@frost18
Программист PHP

Какую использовать формулу при подсчете голосов?

Имеется опрос с четырьмя вариантами ответов в котором пользователь может проголосовать, 1 голос = 100%.
Если опрос позволяет выбрать только один ответ (радиокнопка), то голоса распределяются так:
1) 0
2) 100
3) 0
4) 0
Если опрос позволяет выбрать несколько ответов (чекбоксы), то голоса распределяются так:
1) 50
2) 0
3) 50
4) 0
И последний тип опроса, где нужно отсортировать варианты ответа в приоритетном порядке, результат должен быть примерно такой:
1) 70,83
2) 20,83
3) 8,33
4) 0

Вопрос такой, по какой формуле мне рассчитать эти значения?

Пример опроса где нужно отсортировать варианты ответа в приоритетном порядке:
Какой цвет вам больше нравиться?:
1) Красный
2) Синий
3) Зеленый
4) Черный


Пользователь выставляет приоритеты(сортирует), к примеру так:
1) Синий
2) Черный
3) Зеленый
4) Красный

И мне нужно результат этого опроса сохранить в базу. Из результата видно что "Синий" для пользователя имеет наивысший приоритет, "Черный" чуть ниже, "Зеленый" еще ниже, а "Красный" ему вообще не нравиться.

Вопрос в том как мне его голос (100%) распределить по этим вариантам, по какой формуле рассчитать?
X1>X2>X3>X4=100
  • Вопрос задан
  • 449 просмотров
Решения вопроса 1
@localghost
Сергей Капирусов, теперь понятнее.
Но тут нет общей формулы, вам самим надо решить, как распределять голоса, сколько "веса" дать какой позиции. То есть: насколько больше "стоит" первое место по сравнению со вторым, второе - с третьим, и так далее.
Например, вы можете решить, что "расстояние" между местами должно быть одинаковое, скажем, для пяти вариантов ответа будет 40-30-20-10-0. Тогда это арифметическая прогрессия, и (n * (n + 1)) / 2 * расстояние = сумма, то есть 100% (n - количество ненулевых вариантов ответа).
Но это ж не единственный вариант, никто не запрещает вам в том же случае сделать, скажем, 60-25-10-5.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 15:24
3000 руб./за проект
30 апр. 2024, в 15:11
500 руб./в час
30 апр. 2024, в 15:11
5000 руб./за проект