След като сме определили колко числа има във всяка група, можем да преминем към изчисляването на процентите, което е и главна цел на задачата. За това ще използваме следната формула:
(процент на група) = (брой числа в група) * 100 / (брой на всички числа)
Тази формула в програмния код изглежда по следния начин:
Ако разделим на 100 (число тип int
) вместо на 100.0 (число тип double
), ще се извърши така нареченото целочислено деление и в променливата ще се запази само цялата част от делението, а това не е желания от нас резултат. Например: 5 / 2 = 2, а 5 / 2.0 = 2.5. Имайки това предвид, формулата за първата променлива ще изглежда така:
За да стане още по-ясно какво се случва, нека разгледаме следния пример:
Вход | Изход |
---|---|
3 1 2 999 |
66.67% 0.00% 0.00% 0.00% 33.33% |
В случая n = 3
.
За цикъла имаме:
i = 0
- прочитаме числото 1, което е по-малко от 200 и попада в първата група (p1
), увеличаваме брояча на групата (cntP1
) с 1.i = 1
– прочитаме числото 2, което отново попада в първата група (p1
) и увеличаваме брояча ѝ (cntP1
) отново с 1.i = 2
– прочитаме числото 999, което попада в последната група (p5
), защото е по-голямо от 800, и увеличаваме брояча на групата (cntP5
) с 1.След прочитането на числата в група p1
имаме 2 числа, а в p5
имаме 1 число. В другите групи нямаме числа. Като приложим гореспоменатата формула, изчисляваме процентите на всяка група. Ако във формулата умножим по 100, вместо по 100.0 ще получим за група p1
66%, а за група p5
– 33% (няма да има дробна част).