Loading...

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

Ivanig avatar Ivanig 1 Точки

Здравейте,някой може ли да ми помогне с тази задача ??

v

Игра на интервали
Напишете програма, която да пресмята резултата от игра. Първо получавате число, което показва колко хода ще продължи играта. После за всеки ход на играта ще получавате по едно ново число. Според интервала в който попада числото се прибавят точки. Ако числото е отрицателно или по-голямо 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 до 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) = 2

Тагове:
0
Programming Basics
svephoto avatar svephoto 1191 Точки

Здравей, Ivanig,

 

Ти имаш ли някакъв вариант на решение към момента, та макар и то да не е напълно коректно? Ако да, сподели го с един линк в pastebin.com. И освен това, къде се намира задачата в Judge? Дай линк и към нея.

0
Ivanig avatar Ivanig 1 Точки

Здравей,не нямам,задаата е от допълнителните for loop ще стартирам решение и ще пратя pastebin.

1
svephoto avatar svephoto 1191 Точки

Никъде не използваш sumOfNumbers и first, никъде не инкрементираш/променяш counter. Така условието на while-цикъла не прави нищо - то винаги е counter < sumOfMoves. Пробвай направо с for-цикъл по sumOfMoves. В първата проверка if (sumOfNumbers >= 0 && sum <= 9) имаш sum, която никъде в кода не е създадена като променлива. В else if (sumOfNumbers >= 30 && sumOfNumbers <= 39) вместо score += sumOfNumbers * 0.5; трябва директно да добавиш 50 точки, т. е. score += 50;, а след това в else if (sumOfNumbers >= 40 && sumOfNumbers <= 50) - вместо score += 50; да бъде score += 100;. След излизане от цикъла пак инициализираш броячите с let - махни го от всички тях. И за да печаташ на конзолата трябва да сложиш всичко в console.log();, а също и да изпълниш условието за закръгляне на резултатите до втория знак след десетичната запетая. И още нещо: какво е това "n", на което делиш броячите? Виж дали ще се ориентираш в тези насоки и пиши отново какво и как се получава, а може и пак да пуснеш линк с код.

1
09/01/2022 21:11:25
Ivanig avatar Ivanig 1 Точки

Справих се ..

0
svephoto avatar svephoto 1191 Точки

Добре, браво! yes laugh

0
Ivanig avatar Ivanig 1 Точки

https://pastebin.com/Lgi6gvDV 

Изписва ми грешка,явно е при синтаксиса и не мога да стартирам дебъга за да видя дали работи?

0
Ivanig avatar Ivanig 1 Точки
https://pastebin.com/cLGnhKsA

ами стигнах до тук,но защо ми ги отпеатва толкова пъти?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.