Здравейте,някой може ли да ми помогне с тази задача ??
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
Здравей,не нямам,задаата е от допълнителните for loop ще стартирам решение и ще пратя pastebin.
Никъде не използваш 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", на което делиш броячите? Виж дали ще се ориентираш в тези насоки и пиши отново какво и как се получава, а може и пак да пуснеш линк с код.
Справих се ..
Добре, браво!
https://pastebin.com/Lgi6gvDV
Изписва ми грешка,явно е при синтаксиса и не мога да стартирам дебъга за да видя дали работи?
ами стигнах до тук,но защо ми ги отпеатва толкова пъти?