|
|
|
новичок
      
участник
Last Login: 10.07.2007 19:42
Сообщ.: 9,
Visits: 72
|
|
такое зверство мне потребовалось:
4 поля ввода, в каждом некое целое число от 0 до 100.
При уменьшении/увеличении значения в одном поле - в остальных необходимо пропорционально (или как-то еще) увеличить/уменьшить значения в остальных трех полях...
встрял в ступор и никак не соображу..
ребята! помогите! подскажите решение!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 04.05.2008 11:54
Сообщ.: 269,
Visits: 2 380
|
|
На сколько нужно прибавить/отнять оставшиеся поля= (400-(поле1+поле2+поле3+поле4))/3
зы: Если конечно, я правильно понял, что нужно найти ;)
----------------------------------
Я безработный...
Возьмите меня на работу. =)
|
|
|
|
|
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 между ними и надо выбирать кому из них присваивать. В общем обдумай хорошо что ты хочешь получить и опиши здесь.
|
|
|
|
|
новичок
      
участник
Last Login: 10.07.2007 19:42
Сообщ.: 9,
Visits: 72
|
|
да, желательно распределить "оставшиеся" или "собрать нужные" проценты по/с остальным полям.
то есть, например:
в полях есть значения:
10 40 30 20
в сумме значения всех полей д.б. = 100.
нам нужно, например, изменить левое поле на 11.
из остальных полей (40 30 20) нужно взять значения, пропорциональные "весу" числа в каждом поле, чтобы сумма этих значений была = 1 и прибавить к значению первого поля (10), чтобы получить 11.
В итоге общая сумма значений полей должна остаться = 100. можно с десятыми/сотыми..
первый шаг я вижу такой:
значение изменяемого поля вычитаем из 100.
далее нужно пропорциями "разложить" оставшуюся сумму на остальные поля,.. как-то... вот здесть я и стормознул..
|
|
|
|
|
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.
|
|
|
|