Изпит по "Основи на програмирането" – 18 март 2017
Loading...
+ Нов въпрос
RadoslavStamboliev avatar RadoslavStamboliev 6 Точки

[Programming Basics] Exam - 18 March 2017 - Problem 04 - Game Of Intervals

Здравейте, колеги! Имам проблем с тази задача, оправям се с резултата, но не мога да намеря процентите,които са по условие!

Ако ми помогнете ще съм много благодарен!

 Това е моят код:  

Изпит по "Основи на програмирането" – 18 март 2017

Задача 4. Игра на интервали

Напишете програма, която да пресмята резултата от игра. Първо получавате число, което показва колко хода ще продължи играта. После за всеки ход на играта ще получавате по едно ново число. Според интервала в който попада числото се прибавят точки. Ако числото е отрицателно или по-голямо 50, тогава то е невалидно. В началото на играта резултата е 0 и на всеки ход се прибавят точки по следният начин:

 

  • От 0 до 9 à 20 % от числото
  • От 10 до 19 à 30 % от числото
  • От 20 до 29 à 40 % от числото
  • От 30 до 39 à 50 точки
  • От 40 до 50 à 100 точки
  • Невалидно число à резултата се дели на 2

 

Освен резултата програмата трябва да изкарва статистика за проценти числа в дадените интервали.

Вход

Входът се чете от конзолата:

  • Първи ред - колко хода ще има по време на играта – цяло число в интервала [1...100]
  • За всеки ход – числата, които се проверяват в кой интервал са – цели числа в интервала [-100...100]

Изход

Да се отпечата на конзолата 7 реда:

  • 1ви ред: "{Краен резултат}"
  • 2ри ред: "From 0 to 9: {процент в интервала}%"
  • 3ти ред: "From 10 to 19: {процент в интервала}%"
  • 4ти ред: "From 20 to 29: {процент в интервала}%"
  • 5ти ред: "From 30 to 39: {процент в интервала}%"
  • 6ти ред: "From 40 to 50: {процент в интервала}%"
  • 7ми ред: "Invalid numbers: {процент в интервала}%"

Всички числа трябва да са форматирана до вторият знак след запетаята.

Примерен вход и изход

Вход

Изход

Обяснения

10

43

57

-12

23

12

0

50

40

30

20

295.80

From 0 to 9: 10.00%

From 10 to 19: 10.00%

From 20 to 29: 20.00%

From 30 to 39: 10.00%

From 40 to 50: 30.00%

Invalid numbers: 20.00%

10 хода; Начален резултат = 0 точки

1ви ход: 40 <= 43 <= 50 à към резултата се добавят 100 точки

2ри ход: 57 > 50 àневалидно число à 100/2 = 50 точки

3ти ход:-12 < 0 à невалидно число à 50/2 = 25 точки

4ти ход: 20 <= 23 <= 29 à към резултата се добавят 40% от 23 = 25 + 9.2 = 34.2 и така до 10тият ход......

 

От 0 дo 9: 1 число (0) = 10%

От 10 до 19: 1 число (10) = 10%

От 20 до 29: 2 числа (20 и 23) = 20%

От 30 до 39: 1 число (30) = 10%

От 40 до 50: 3 числа (40, 43 и 50) = 30%

Невалидни: 2 числа (57 и -12) = 20%

 

Тагове:
0
Основи на програмирането 31/07/2017 12:21:44
ivan.tod.ivanov avatar ivan.tod.ivanov 9 Точки

Това е моето решение на JAVA, логиката е същата, обърни внимание, че съм добавил променливи в началото.

https://pastebin.com/aa9gkDGm  .

0
RadoslavStamboliev avatar RadoslavStamboliev 6 Точки

Благодаря забравих да направя за всяко променлива!

0
kera123 avatar kera123 3 Точки

Здравейте, колеги!

Аз също имам проблем със задачата. При вход 

3

12

-23

46

ми дава 33.00%, а не 33.33% . Къде греша? Това е моето решение - https://pastebin.com/kmfHLnzQ

0
23/11/2017 12:09:47
tedoo avatar tedoo 1 Точки

Cast-ни накрая бройките като double.

Console.WriteLine("From 0 to 9: {0:f2}%", (double)first * 100 / steps);<br>         Console.WriteLine("From 10 to 19: {0:f2}%", (double)second * 100/steps);<br>         Console.WriteLine("From 20 to 29: {0:f2}%", (double)third * 100/steps);<br>         Console.WriteLine("From 30 to 39: {0:f2}%", (double)fourth * 100/steps);<br>         Console.WriteLine("From 40 to 50: {0:f2}%", (double)fiveth * 100/steps);<br>         Console.WriteLine("Invalid numbers: {0:f2}%", (double)invalid * 100/steps);

0
24/11/2017 13:10:45
kera123 avatar kera123 3 Точки

Благодаря за отговора. Така мина през Judge 100/100.

0
traykova44 avatar traykova44 93 Точки

Здравейте, това е моя код      https://pastebin.com/iLDZnxS1

Мога да изкарам какъв процент има от всеки критерии (тук не сум го написала), моят проблем обаче, е че не мога да изчисля броят тояки общият 295.80

Моля за корекция на кода ми, а не за готово решение, за да разбера къде бъркам - как тояно се сумират.

 

Благодаря!

0
traykova44 avatar traykova44 93 Точки

Здравейте, имам проблем с последния  процент на невалидните числа, другите са ок с всеки вход.

може ли да каже някой, защо той не смята както другите проценти.

КОД https://pastebin.com/tS8MQ0Jp

Благодаря!

0