Loading...

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

ines.iv.ivanova avatar ines.iv.ivanova 0 Точки

[C# Advanced] Problem 13. ** Сръбско Unleashed

Колеги, може ли малко помощ - тестовете минават а съдията гърми на 40/100. Не претендирам, че съм с най-добрия регекс, но мисля, че работи, защото тествах с различни случаи - code

Тагове:
0
C# Advanced 25/05/2017 18:48:48
Tanyo avatar Tanyo 152 Точки

В момента нямам възможност да разгледам подробно кода, който си написала, но на пръв поглед:

Нужно ли е да използваш регекс? Аз бих пробвал по - прост начин, като например:

  - От въведения стринг взимам първо до @, след това останалия стринг сплитвам по спейс и проверявам дали елементите са 3. 

Доколкото видях в условието валидни са данните които имат 4 елемента - име, локация, цена билет, брой билети.  Именно тук не видях регекса ти да прави някаква валидация... Когато е невалиден инпута трябва да се пропусне, а при теб минава... обърни внимание на тази част от кода, другото изглежда работи.

 

Успех!

 

 

 

 

0
25/05/2017 09:35:22
KrasiyMihajlov avatar KrasiyMihajlov 139 Точки

Проблема се получава от малко подвеждащото условие > Each of the four tokens must be separated by a space, everything else is invalid. Освен спейсовете всякакви други символи трябва да са ти валидни.

Давам ти примерен работещ регекс да видиш разликите => string pattern = @"(.*?)\s@(.*?)\s(\d+)\s(\d+)";

Другото което препоръчвам е да нямаш повече от един регекс и по възможност да го използваш само в краен случай. В тази задача специално без регекс мисля че съм я докарвал до 90%.

0
ines.iv.ivanova avatar ines.iv.ivanova 0 Точки

да, гледала съм и други решения на задачата. Исках да видя къде в това, което съм написала е грешката. Естествено регекса е първата грешка. Мерси :)

0
e.manolov avatar e.manolov 80 Точки

Според мен, за тази задача, ако не си много на ти с regex е по-добре да си построиш логика, без да  използваш regex. Друго, което видях в кода ти, не е необходимо да използваш BigInteger, използването му може да ти доведе до забавяне на кода и да имаш грешка тип timeerror. В long се побира всичко, мисля , че и в int става.

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