Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият.
Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание.
Използваме бисквитки и за измерване на маркетинговите ни усилия.
Мисля, че когато го пейстнеш в гугъл става
Mалко се поомотах с кода но успях да го поправя и да искарам 100/100
Супер, аз тъкмо го гледах, забелязах, че принтираш точка с празно вместо само с точка накрая. Но пак беше 10/100.
Иначе aз я реших като първо прочитам директно в map думите с техния брой. След което от този мап напълних два вектора - words и wordsCount. А командите за принт прочетох в pair<int, int>. И така накрая и аз пълня един set, но функцията ми изглежда така:
Ясно! Благодаря все пак за отделеното време! То все пак главната грешка в моя код беше, че в мап се опитвах да запазя еднакви ключове с различни стойности откъдето и се получи объркване. Все пак успях да го поправя с вектори
Здравейте, колеги!
Пробвах и аз да чета директно входа в мап, но не ми се получава със стрийма нещо. Понякога ми взима две думи за една. Това ми е функцията за четене в мап:
std::map<std::string, int> getWordsOccurrences() {
std::map<std::string, int> wordsOccurrences;
std::string line;
getline(std::cin, line);
std::istringstream istr(line);
const std::string delimiter = ".";
std::string word;
while (true)
{
istr >> word;
if (word == delimiter)
{
break;
}
auto it = wordsOccurrences.find(word);
if (it == wordsOccurrences.end())
{
wordsOccurrences.insert(make_pair(word, 1));
}
else
{
wordsOccurrences[word]++;
}
}
return wordsOccurrences;
}
Като принтна мапа с този вход: chug a mug of mead and another mug mead chug another mug of mead warrior .
for (auto it = wordsOccurrences.begin(); it != wordsOccurrences.end(); it++) {
std::cout << it->first << ' ' << it->second << std::endl;
}
ми дава следното:
а 1
another 2
chug 1
mead 1
mead and 1 // чете го като една дума
mead chug 1 // чете го като една дума също
mug 3
of 2
warrior 1
Пробвах да чета и с getline(istr, word, ' '), но ми изкарва същия резултат. Не мога да разбера защо на два пъти ми взема две думи от входа за една. Посочете ми грешката защото аз съм в шах
Привет,
Аз не виждам грешка в кода ти.
Пробвах го локално при мен и ратоби. Поне това, което си дал като пример.
Единствено, което се сещам, но е малко вероятно е някъде измежду input-а на тестовете да е попаднал Unicode text. Това би объркало програмата ти, която очаква ASCII код.
Все пак това е само wild guess :)
Странно, но наистина явно няма грешка в кода. При мен изкарва грешни резултати заради това, че на две места стрийма ми приема две думи за една, но в judge тестовите минават. Явно проблема е в моя телевизор, но не знам какво точно се бъгва. Мисля, че на един тест ми даваше time limit, но не съм сигурен, а и вече не мога да проверя. В този ред на мисли, след поправителния изпит задачите от judge assiment - ите ще бъдат ли пак активни в judge системата?
https://pastebin.com/3Yq7Ga3T