Russian Qt Forum

Программирование => Алгоритмы => Тема начата: Dastes от Апрель 05, 2012, 01:11



Название: Расчет процентов
Отправлено: Dastes от Апрель 05, 2012, 01:11
Например, есть 30 яблок. 10 у Маши, 20 у Пети. Если высчитать в процентном соотношении, то будет 33.333...3 и 6.666...6

Существует ли какой-нибудь алгоритм для округления чисел, что бы период убрать.

В итоге что бы получилось:
33.335 и 66.665
Что-нибудь в этом роде.

Если несложно, дайте функцию, которая принимает массив с грубо рассчитанными процентами, и возвращает с округленными, которые в сумме дают 100.


Название: Re: Расчет процентов
Отправлено: Bepec от Апрель 05, 2012, 07:02
А самому убрать сложно? :)

А функция, которая получает массив и возвращает округленные равные 100% - незнаю, что ты хотел этим сказать.


Название: Re: Расчет процентов
Отправлено: iroln от Апрель 05, 2012, 09:10
Странная задача, но вообще округление дробной части делается вот так:

Код
C
z = round(x/y)*y
 
-----
x = 33.33333333333333
y = 0.005
z = 33.335
 

:)


Название: Re: Расчет процентов
Отправлено: Dastes от Апрель 05, 2012, 11:01
Странная задача, но вообще округление дробной части делается вот так:

Код
C
z = round(x/y)*y
 
-----
x = 33.33333333333333
y = 0.005
z = 33.335
 

:)

Благодарю. Работает.


Название: Re: Расчет процентов
Отправлено: Wlad_C от Апрель 05, 2012, 12:49
Существуют:
-Банковское округление,
-Случайное округление,
-Чередующееся округление

Цитировать
которая принимает массив с грубо рассчитанными процентами, и возвращает с округленными, которые в сумме дают 100.

Вопрос не такой простой, как кажется. Поэтому в интернете очень много информации по этому
вопросу. Все зависит от задачи.