Advertisement
NikolaySpasovTriset

Histogram

Oct 4th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. 19. Хистограма
  2. Четвърта задача от междинния изпит на 6 март 2016. Тествайте решението си тук.
  3. Дадени са n цели числа в интервала [1…1000]. От тях някакъв процент p1 са под 200, друг процент p2 са от 200 до 399, друг процент p3 са от 400 до 599, друг процент p4 са от 600 до 799 и останалите p5 процента са от 800 нагоре. Да се напише програма, която изчислява и отпечатва процентите p1, p2, p3, p4 и p5.
  4. Пример: имаме n = 20 числа: 53, 7, 56, 180, 450, 920, 12, 7, 150, 250, 680, 2, 600, 200, 800, 799, 199, 46, 128, 65. Получаваме следното разпределение и визуализация:
  5. Диапазон Числа в диапазона Брой числа Процент
  6. < 200 53, 7, 56, 180, 12, 7, 150, 2, 199, 46, 128, 65 12 p1 = 12 / 20 * 100 = 60.00%
  7. 200 … 399 250, 200 2 p2 = 2 / 20 * 100 = 10.00%
  8. 400 … 599 450 1 p3 = 1 / 20 * 100 = 5.00%
  9. 600 … 799 680, 600, 799 3 p4 = 3 / 20 * 100 = 15.00%
  10. ≥ 800 920, 800 2 p5 = 2 / 20 * 100 = 10.00%
  11. Вход
  12. На първия ред от входа стои цялото число n (1 ≤ n ≤ 1000) – брой числа. На следващите n реда стои по едно цяло число в интервала [1…1000] – числата върху които да бъде изчислена хистограмата.
  13. Изход
  14. Да се отпечата на конзолата хистограмата – 5 реда, всеки от които съдържа число между 0% и 100%, с точност две цифри след десетичната точка, например 25.00%, 66.67%, 57.14%.
  15. Примерен вход и изход
  16.  
  17.  
  18. using System;
  19.  
  20. class HistoGram
  21. {
  22. static void Main()
  23. {
  24. int n = int.Parse(Console.ReadLine());
  25. double cnt = 0;
  26. double cnt1 = 0;
  27. double cnt2 = 0;
  28. double cnt3 = 0;
  29. double cnt4 = 0;
  30.  
  31. for (int i = 0; i < n; i++)
  32. {
  33. double num = int.Parse(Console.ReadLine());
  34. if (num < 200)
  35. {
  36. cnt++;
  37. }
  38. else if (num >= 200 && num < 400)
  39. {
  40. cnt1++;
  41. }
  42. else if (num >= 400 && num < 600)
  43. {
  44. cnt2++;
  45. }
  46. else if (num >= 600 && num < 800)
  47. {
  48. cnt3++;
  49. }
  50. else if (num >= 800 && num <= 1000)
  51. {
  52. cnt4++;
  53. }
  54. }
  55. Console.WriteLine("{0:f2}", (cnt / n) * 100);
  56. Console.WriteLine("{0:f2}", (cnt1 / n) * 100);
  57. Console.WriteLine("{0:f2}", (cnt2 / n) * 100);
  58. Console.WriteLine("{0:f2}", (cnt3 / n) * 100);
  59. Console.WriteLine("{0:f2}", (cnt4 / n) * 100);
  60.  
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement