Guess the Season

Когато в конзолата напиша като вход:
March
19
ми показва, че сезонът е Spring, а той трябва да е Winter. Къде точно греша, понеже в judge системата на 4-ти тест ми дава грешка.
Ето го и кода https://pastebin.com/AZD0dnSb

Здравей,
Трябва да имаш break след всеки if иначе switch влиза в следващия кейс.
При дата 19 March първо влиза тук
case “March”:
if (date >= 1 && 19>=date) {
season = “Winter”;
но понеже няма брейк влиза в кейс април и там среща break и изпечатва Spring. T.e кодът трябва да изглежда така:
case “March”:
if (date >= 1 && 19>=date) {
season = “Winter”;
break;
} else if (date > 20 && date <= 31) {
season = “Spring”;
break;
}
Или можеш да извадиш break-а извън if-statement:
case “March”:
if (date >= 1 && 19>=date) {
season = “Winter”;

} else if (date > 20 && date <= 31) {
season = “Spring”;

}
break;

1 Like

Здравейте,
Аз пробвах друг подход към задачата, само с if…else, но нещо не минава на всички изисквания и не мога да намеря защо.

Test case #1:|WA|[0.008s,|7.46 MB]|(0/1)|
Your output (clipped)

Summer|
Test case #2:|AC|[0.007s,|7.46 MB]|(1/1)|
Test case #3:
|WA|[0.008s,|7.46 MB]|(0/1)|
Your output (clipped)**
Summer|
Test case #4:|AC|[0.008s,|7.46 MB]|(1/1)|
Test case #5:
|WA|[0.008s,|7.46 MB]|(0/1)|
Your output (clipped)**
Summer|

Ето го и кода - https://pastebin.com/Gm9WCnK9

Виждам, че работиш с “print” извън Judge…тествай си го с “console.log”… При мен работи така във VS Code. А за Judge трябва да си направиш input-a s “gets()” - и то да имаш предвид, че работиш с 2 различни неща - число и дума, и накрая “print”.

Да, аз си го тествам във VSC-то и работи. От началото го пробвах с gets и +gets и не работеше, но сега го одобри. Явно съм коригирал някоя грешка междувременно.

Благодаря, Люба!

1 Like

https://pastebin.com/2YrteBSy <— Това е моето решение (:

Здравейте! Малка препоръка към организаторите: бях решила вярно задачата, но ми даваше грешка, защото съм изписала сезоните с малки букви, както е правилно в английски език, за разлика от месеците, които винаги се пишат с главни букви. Според мен би било добре да редактирате условието на задачата, за да се спазят и езиковите норми :slightly_smiling_face:

Здравей,

Напълно си права, че в английския език сезоните се пишат с малка буква (в повечето случаи). Не това е целта на тази задача обаче. Още повече - в условието е посочено в какъв формат да са изходните данни:

On the only line of output, print the name of the season in pascal case

Благодаря, че писа с препоръка. Занапред можеш да пише до info@telerikacademy.com :slight_smile:

Поздрави,
Тодор

1 Like

Много благодаря за отговора! Да, сега забелязах тази подробност в условието, съжалявам за притеснението

Видях че днес Академията има рожден ден - честит рожден ден и честит празник!

1 Like

Здравейте!
При мен програмата работи перфектно, но взимам 80 от 100 точки.
Добавил съм “Error” , когато се въведе дата по-голяма от 31-во , 30то или 28-мо число.
Дали проблемът идва от там?

п.с. Реших проблема! В някои от дните на месеците съм задал в проверката да бъдат <31 вместо <= 31
А за Февруари - трябва да се приеме ,че е във високосна година с 29 дни.