Loading...
ivan.d.uzunov avatar ivan.d.uzunov 22 Точки

05. Compare Char Arrays от Arrays and Lists - Exercises


http://pastebin.com/CjmQyCwz - това е кода

https://judge.softuni.bg/Contests/Practice/Index/207#4 - линк към Джъдж

 

Тъй като сега си пререшавам старите задачи, защото съм от многото които не се справиха блестящо на изпита имам въпрос относно тази задача. Когато я реших предния път ми се получи, но даже неочаквано за мен. Не мога да разбера защо ми дава 100 процента, тъй като при последната проверка : else if (first.Length == second.Length) реало проверявах само първият чар от масива. реално , то не се получава цикъл като хората, тъй като проерява нулевия индекс и излиза с break.  Условието казва "Compare two char arrays lexicographically (letter by letter)", което разбирам, че трябва да е, ако са равни на дължина, и първата буква е развна, тогава сравняваме втората(нещо което аз не правя).Тогава я докарах до тук и изненадващо за мен ми даде 100 процента, но нямах време да се ровя защо. Ако може някой да ми обясни, ще е супер!!!

  1. if (second[i] == first[i])

  2.                     {

  3.                         Console.WriteLine("{0}\n{1}", string.Join("", first), string.Join("", second));

  4.                         break;

  5.                     }

 

 

Тагове:
0
Fundamentals Module
Maria_ls avatar Maria_ls 383 Точки

Здравей. Това, което ми идва на ум като идея да ти работи в този вид е,  че явно няма достатъчно тестове, които да обхващат всички вероятности.

Например това:

a b b n
a b b a

Излиза така

abbn
abba

А не така, както трябва

abba
abbn

Ако добавиш тази проверка за i на 41 ред - if (second[i] == first[i] && i == Math.Min(first.Length, second.Length) - 1) - тогава ще продължава да ти ги проверява символ след символ, докато не стигне последния, когато вече ще ти изпринти резултата.

Да не говорим, че в случая във for изобщо нямаш нужда от Math.Min(first.Length, second.Length), тъй като двете ти дължини са еднакви и можеш спокойно да ползваш която и да е от тях.

0
03/11/2016 14:24:03
AlexTasev avatar AlexTasev 65 Точки

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

https://pastebin.com/iZrfbrC0

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