Софтуерно Инженерство
Loading...
kkaraivanov avatar kkaraivanov 382 Точки
Best Answer

Здравей!

Трябва да промениш някой някой неща:

- променлива за най малка дължина на поредицата

var length = Math.Min(matchesLeftSide.Length, matchesRightSide.Length);

- Мисля че if (lenLeftSide >= 6 && lenRightSide >= 6) не ти е нужно след като си определил минимума в патърн-а. Тази проверка можеш да я замениш с проверка за мачване на лява и дястна страна и ако една от двете не се мачва да изпишеш на конзолата Console.WriteLine($"ticket \"{currentTicket}\" - no match"); Пример:

if(matchesLeftSide.Success || matchesRightSide.Success)
{
   Console.WriteLine($"ticket \"{ ticket}\" - no match");
   continue;
}

след това

allSymbolsLeft = matchesLeftSide.ToString();
allSymboRight = matchesRightSide.ToString();

промени на

allSymbolsLeft = matchesLeftSide.Value.Substring(0, length);
allSymboRight = matchesRightSide.Value.Substring(0, length);

проверката

if (lenLeftSide >= 6 && lenRightSide >= 6 && lenLeftSide == lenRightSide && singleSymbolLeft == singleSymbolRight  )

я промени на

if (allSymbolsLeft.Equals(allSymboRight))

след което промени

if (lenRightSide == 10 && lenLeftSide == 10)

на

if (allSymbolsLeft.Length  == 10)

а else го остави без if и мисля че ще ти върне 100/100

0
19/03/2020 18:28:09
DimitarKazakov avatar DimitarKazakov 5 Точки

Благодаря ти за отговора колега. Промените ти ме накараха да се замисля че този инпут също трябва да е валиден според мен Ca$$$$$$$$Ca$$$$$$sh(добавил съм две $ в лявата част. Броят вляво е 8, а вдясно 6). Output-а би трябвало да е - ticket "Ca$$$$$$$$Ca$$$$$$sh" - 6$. А при мен го дава като невалиден.

0
kkaraivanov avatar kkaraivanov 382 Точки

Имаш и много променливи извън цикъла, които се предполага че ще се ползват при всеки нов ред подаден от масива. Направи дебъг и виж да не би да връща грешка от останала стойност от предишен цикъл. Ако ми пратиш променения код ще дебъгна и ще ти пратя промени ако се наложат.

0
DimitarKazakov avatar DimitarKazakov 5 Точки

Направих две корекции, с които взех 100/100, благодарение на твоите препоръки. Благодаря

0
kkaraivanov avatar kkaraivanov 382 Точки

За нищо колег, супер че Judge се е предал.

0