Професионална програма
Loading...
+ Нов въпрос
JohnDoe256 avatar JohnDoe256 2 Точки

Exam Preparation Letters

Къде бъркам?
https://pastebin.com/5nxHWzUC
https://pastebin.com/X20xanUc
<regex> Не го използвам,защото judge ми дава compiling runtime expired error,та си написах собствен split метод,та просто съм забравил да махна headara.
Разликата между двата линка е,че в единия е че начина на изписване на думата е първата,която е прочетена,докато в другия линк ако съществува дума с главна буква се приоритезира като главната думата и измества предния начин в seta.

Тагове:
0
C++ Advanced
Smeshan avatar Smeshan 66 Точки

Привет,

аз малко се загубих в кода, затова просто реших да пробвам различни входове.
Та пробвай този:

let's
e
.

И също този:

letter letter Letter
e
.

И при двата не принтира това, което трябва.

Иначе аз първо прочитам целия текст и минавам по него за да изчистя пунктуацията, като за всеки char проверявам ispunct и ако да - слагам white space.

for (char& letter : text) {
		if (ispunct(letter)) {
			letter = ' ';
		}
	}

Вариант си е.

Дано да съм помогнал.

Поздрави,
Илиян

0
01/07/2021 00:54:27
JohnDoe256 avatar JohnDoe256 2 Точки

Благодаря за отговора.Какъв е верния output на следните примери?
При мен
Първия пример ми връща "let" а втория "letter" https://pastebin.com/F1ze3Afe

Добавих и по някой коментар.Тежкостта на четивото бих казал,че идва от итераторите.Много по чисто би било с for loop,но веднъж ме скъсаха на интервю,защото не разбирах от итератори,а сега като ги разбирам искам да ги накарам да им се ще,че не ги разбирах :D.
0
01/07/2021 18:53:39
DimovIvan avatar DimovIvan 11 Точки

На мен ми минават първите два теста и нулевия. Останалите три ми гърмят, но за тях нямам входните данни и не мога да разбера защо не минават. Решението го вкарвам в малко сложен контейнер: вектор от двойки  сетове от стрингове. Иначе, останалата част от кода ми мисля, че е разбираема. Дано да ти помогне с нещо. И ако може някой да помогне на мен за неминаващите тестове ще съм благодарен. Предполагам, че ако входа е без пунктоация ще ми даде грешка защото не правя такава проверка, но сигурно имам и други грешки.

https://pastebin.com/Xw64yMu7

0
Smeshan avatar Smeshan 66 Точки

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

А защо не ползваш функционалностите на <cctype> ? Там ги има повечето фунцкии, които си написал. Също string.find() ?

Поздрави и успех утре,

Илиян
 

0