AdvancedC# изпит - 28.02.2016
Кога ще излязат резултатите от изпита и какъв е минималния брои точки за да се вземе?
Кога ще излязат резултатите от изпита и какъв е минималния брои точки за да се вземе?
Като цяло не беше труден изпита, но според мен нулевите тестове бяха твърде малко.
Ако има някой, който е решил може ли да ми каже къде бъркам при четвърта? Ето моят код: http://pastebin.com/w3kmVU3n
Минават нулевите тестова, а едва 10 точки... Докато видях други хора, на които и двата нулеви не им минават, но имат по 50тина точки :Д
С този регекс @"#([A-Za-z]+):\s*@([A-Z][a-z]+)\s*(\d+)\s*:\s*(\d+)" задължаваш всички градове да започват с голяма буква и след това да продължават само с малки. Т.е. [A-Z][a-z] трябва да стане [A-Za-z]. Така ще хванеш 80 точки. За последните 20 точки трябва да си осигуриш, че преди началото и края на стринга няма ненужна информация, т.е. ^ в началото и $ в края.
В регекса, твоя код с този регекс #([A-Za-z][A-za-z]+):\s*@([A-Za-z]+)\s*([0-1][0-9]|[0-2][0-3]):([0-5][0-9]) дава 80 точки аз само до там ги докарах.
Тц, тц толкова се чудех къде бъркам, бях тръгнал и самите хора да са [A-Z][a-z]+, но после ги смених, как не се сетих и за хората ех...
Ето го моето решение на четвърта:
https://github.com/byclops/softuni/blob/master/AdvancedCSharp/Exam-28-02-2016/Problem04/Events.cs
Това ми е regex-a: @"^#([a-zA-Z]*): *@([a-zA-Z]*) *(\d?\d:[0-5]?\d)$"
Отделно правя проверка дали часа е по-голям от 23, видя ми се по-просто да го направя извън regex-a.
Най-много ме затрудни да се сетя да че имената на хората и локациите могат да бъдат празни, т.е. [a-zA-Z]* вместо [a-zA-Z]+.Малко нелогично ми се вижда име празен стринг, сигурно затова се затрудних:)Другия по-сериозен проблем беше да се сетя да огранича pattern-aс ^ в началото и $ в края, за да елиминирам
Едит: заблудил съм се за празните имена
Няма празни имена и градове. Дава 100/100 с [A-Za-z]+
П.П.: То попринцип няма и логика градовете да могат да бъдат СоФиЯ, ПловДИв и т.н,, ако така го гледаме :Д
@biser.stoev
Прав си, заблудил съм се, тъй като в последния събмит съм направил и други промени.
Мен ме е яд че изобщо не се сетих за началото и края на стринга (^ и $).
Здравейте, колеги!
За решаването на 4-та задача използвах следния регекс #([A-Za-z]+):\s*@([A-Za-z]+)\s*([0-9]+:[0-9]+) и взимам 80 точки. Като сложа обаче ^ в началото и $ в края регекса престава да засича дори и редовните input - и. Някой може ли да обясни защо?
@Bogdan1899
Тествах с твоя регекс в моето решение и взимам 100 точки с ^ в началото и $ в края. Сигурно е някъде другаде проблема.
Богдан, пусни си целия код в пейстбин и дай да го погледнем, .
Мн странна работа, защото до сега не го бях пробвал в judge - а, а само в regex101 и regexr, където всеки път като поставя ^ и $ преставаше да ми засича и редовните input - и. След като видях, че byclops е пробвал и взел 100 точки и аз реших да го пустна в judge и също взех 100 точки. Та интересно ми е, защо в сайтовете за проверка не засичаше както трябва, а в Judge всичко мина ок.
Иначе това е моят код без знаците в началото и края http://pastebin.com/bUSxjscL
В regex101.com трябва да сложиш modifier /gm за да работи коректно.
В C# и двете са enabled по подразбиране.
Понякога се случват такива разминавания, така че не вярвай на 100% на онлайн тестерите, особено като се получават нелогични резултати.