Здравейте, решавам задачите от материалите за самоподготовка за Алфа програмата на JS.
В линка по-долу споделям двете си решения - едното съм написала на VS Code, а втория начин на изписване качвам в системата за оценяване. Във VS Code излизат и двата изхода от примерните входове в условието, в системата за оценяване май не се случва сумирането и не знам къде бъркам. Напълно начинаеща съм, кодът сигурно ще се стори елементарен на доста от вас, но ви моля да отделите от времето си и да ми дадете насоки къде бъркам.
Приела съм, че втория вход е стринг и съм го превърнала в масив, за да взема числата, да ги сумирам и после да ги разделя на подаденото в първия вход число, изглежда ми логично да е така, но нещо пропускам. Предварително благодаря!
Здравейте, това ли е условието на задачата?
Find Average
You need to calculate the average of a collection of values. Every value will be valid number. The average must be printed with two digits after the decimal point.
Input
- On the first line, you will receive N - the number of the values you must read
- On the next N lines you will receive numbers.
Output
- On the only line of output, print the average with two digits after the decimal point.
Input
4
1
1
1
1
Output
1.00
Input
3
2.5
1.25
3
Output
2.25
Здравейте, да. Това е.
Здравейте,
Във вашето решение виждам, че първо си взимате числото N и го превръщате от string на integer, което е правилно. Обаче след това по условие ви казват, че самото число N ви дава информация колко числа ще получите от конзолата т.е трябва да използвате числото N, за да вземете останалите числа от входните данни, а не да напишете директно “let numeral = gets()” и след това да се опитвате да го split-нете. Сега ще ви дам стъпки, които да следвате, за да решите задачата.
- взимаме числото N
- Въртим цикъл по числото N и запазваме сумата от числата в променлива
- Разделяме сумата на броят числа, за да определим средната стойност, след което принриаме резултата, както сте го направили.
Тоест единствената грешка при вас е в стъпка 2, ако имате нужда от още пояснения съм насреща
Input
3
2.5
1.25
3
Output
2.25
Ето тук във вторите входни данни ви дават, че числото N ще бъде 3, което индикира, че след това имате 3 числа, които трябва да съберете, но не можете да ги вземете наведнъж, както се опитвате да направите, а трябва да въртите цикъл по N и всяко число да си го вземете отново с функцията gets().
Мисля, че го разбрах сега. Много ви благодаря.