Problem 3- Title Case
Здравейте, търся малко помощ за 3-та задача от лекцията Strings & Streams. Това е кодът, който съм написала досега, но в джъдж ми дава 83/100 и не се сещам какво пропускам. Благодаря предварително!
https://pastebin.com/58d065Sj
Здравейте, търся малко помощ за 3-та задача от лекцията Strings & Streams. Това е кодът, който съм написала досега, но в джъдж ми дава 83/100 и не се сещам какво пропускам. Благодаря предварително!
https://pastebin.com/58d065Sj
Дай линк към условието.
Привет!
Пробвай следния тест (.a.), трябва да ти върне (.A.), както и с другите препинателни знаци...
Може да се използва в решението:
!isalpha(text[i - 1]) ->
text[i] = toupper(text[i]);
Поздрави! :)
Здравейте, за да не започвам друга тема пиша тук. На мен също ми дава 83/100, но аз ползвам доста по-проста логика. Когато срещнеш интервал, следващия чар го направи главен. Добавих също за запетайка и точка. Уж не харесва Zero Test 1, а при мен на конзолата минава. Ето и скрийншот от входа и джъджа: https://imgur.com/a/EgcdUd0
#include <iostream>
#include <string>
#include <locale>
using namespace std;
int main() {
string sentence;
getline(cin, sentence);
sentence[0] = toupper(sentence[0]);
for (size_t i = 0; i < sentence.length(); i++)
{
if (sentence[i] == ' ' || sentence[i] == ',' || sentence[i] == '.')
{
sentence[i + 1] = toupper(sentence[i + 1]);
}
}
cout << sentence << endl;
return 0;
}
Аз дълго дълбах на тая задача също. На judge му писна от моите грешни submition-и, които все гърмяха на тест 1. Та, хубаво си задал след кои символи да прави главна буква, НО какво става, ако символа е различен, или пък са два последователни? ;) Пробвай текста от условието на задачата "we will--rock you"
Освен това не може да изброиш всички символи от ASCII таблицата. То ще стане 300 реда код само, за да провери символите :D
Ta, накратко казано, моя жокер е - if(!isalpha(word[g]) && isalpha(word[g+1])) и ако това условие е изпълнено, направи го главна буква :)
Изобщо не помислих, какво ще се случи, ако има например две тирета :D Реално, като добавих тире в проверката даде 100/100, но това е да излъжа джъджа, а иначе решението не струва изобщо и сега ще седна да го поправя! Много ти благодаря за подсказката, не знаех, че има функция като isalpha, супер полезна е за задачата