пропорционально рассчитать проценты
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



пропорционально рассчитать проценты Expand / Collapse
Автор
Сообщение
10.07.2007 17:17
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 10.07.2007 19:42
Сообщ.: 9, Visits: 72
такое зверство мне потребовалось:

4 поля ввода, в каждом некое целое число от 0 до 100.
При уменьшении/увеличении значения в одном поле - в остальных необходимо пропорционально (или как-то еще) увеличить/уменьшить значения в остальных трех полях...

встрял в ступор и никак не соображу..

ребята! помогите! подскажите решение!
Сообщ. #914623
10.07.2007 19:01
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 29.05.2008 20:04
Сообщ.: 269, Visits: 2 381
На сколько нужно прибавить/отнять оставшиеся поля= (400-(поле1+поле2+поле3+поле4))/3

зы: Если конечно, я правильно понял, что нужно найти ;)


----------------------------------
Я безработный...
Возьмите меня на работу. =)
Сообщ. #914630
10.07.2007 19:19
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Стоит начать с полной формулировки своей задачи. Раз ты упомянул проценты, то должна ли сумма этих четырех полей равняться 100? Далее, есть ли между между этим параметрами какое-нибудь различие выдяющее их? Поясню что я имею в виду. Если сумма полей должна равняться 100 и значение №1=100, №2=№3=№4=0. Уменьшим №1 на 1, получая 99. Так как у нас целые числа, то мы не можем равномерно раздилить 1 между ними и надо выбирать кому из них присваивать.

В общем обдумай хорошо что ты хочешь получить и опиши здесь.

Сообщ. #914631
10.07.2007 19:57
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 10.07.2007 19:42
Сообщ.: 9, Visits: 72
да, желательно распределить "оставшиеся" или "собрать нужные" проценты по/с остальным полям.
то есть, например:
в полях есть значения:
10 40 30 20
в сумме значения всех полей д.б. = 100.
нам нужно, например, изменить левое поле на 11.
из остальных полей (40 30 20) нужно взять значения, пропорциональные "весу" числа в каждом поле, чтобы сумма этих значений была = 1 и прибавить к значению первого поля (10), чтобы получить 11.
В итоге общая сумма значений полей должна остаться = 100. можно с десятыми/сотыми..

первый шаг я вижу такой:
значение изменяемого поля вычитаем из 100.
далее нужно пропорциями "разложить" оставшуюся сумму на остальные поля,.. как-то... вот здесть я и стормознул..
Сообщ. #914633
11.07.2007 13:00
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Если проблема только в расчете веса каждого из трех полей, то тут ничего сложного нет. Пусть у нас есть тира числа: x, y, z. Считаем их сумму S=x+y+z. Тогда все каждого числа, это соответственно x/S, y/S, z/S.
Сообщ. #914651
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:23