Професионална програма
Loading...
Ilia.M avatar Ilia.M 4 Точки

01.Letters - проблем при някой тестове

Здравейте,

опитвам се да реша задачата от подговителният изпит, но колкото и да пробвам стигам до 60/100.

Предварително премахвам всички пунктуации от всяка думата, така че например ако накрая имаме !?, двата символа ще бъдат премахнати.  След което ги сортирам в два set-a - един за думи с главни букви и един за думи с малки букви. След това ги принтирам.

Линк към решението:

https://pastebin.com/uuRWss69

Благодаря предварително!

Поздрави,

Тагове:
0
C++ Advanced
j.petrov_90 avatar j.petrov_90 372 Точки

Привет, колега,

 

До колкото виждам функцията ти remove punctuation е доста сгрешена.

Нямам никакво boundary cheching.

Какво ще стане, ако ти подам празен стринт?

Какво ще стане, ако стринта е само пунктуация?

Директно бум.

Има удобен метод на стринта .back.

Пробвай го. Разбира се това не те освобождава от факта да правиш boundary check.

 

Отделно ми се струва, че имаш липсваща локига за дубликати в 2та сета.

 

П.С. извинявай от телефона толкова видях :)

Поздрави

0
Ilia.M avatar Ilia.M 4 Точки

Здравей Живко,

Направих няколко проверки за празни стрингове и сега няма да гръмне във функцията removePunctuation и малко пипнах функцията sortSentance, но пак удрям на камък.

https://pastebin.com/kLzdMYG8

До колкото разбирам, символите, по които търсим се смятат едновременно за големи и малки букви. За това във функцията sortSentace, търсения символ го правя едновременно голяма и малка буква.

Въпроса е например ако имаме вход:

Const const 

c

.

Това значи ли че в изхода трябва да имаме Const const - защото един път ще проверим вектора от думите в изречението с голямо 'C', а след това с малко 'с'.

Благодаря предварително.

Поздрави!

 

0
j.petrov_90 avatar j.petrov_90 372 Точки

Const const е правилен отговор на твоя пример.

Струва ми се, че при логиката за главните букви имаш проблем.

Ето един от примерите, който ти гърми:

Aint no sunshine, when shes gone. Only darkness EVERY day!!!
a
e
y
.

Поздрави

0
Ilia.M avatar Ilia.M 4 Точки

Здравей Живко,

отново много благодаря за помощта! Възхищавам се на ентусиазма ти да ни учиш!

Наистина не съм предполагал че може да има случай, в който може главна буква да не бъде в началото на думата. За това добавих още една проверка, ако някъде в думата има голяма буква(и тя не е в началото), да я пъхам в сета за малки букви.

 

Благодаря отново !

Поздрави,

Илия

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