Loading...

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

Hyulia avatar Hyulia 2 Точки

Problem 3- Title Case

Здравейте, търся малко помощ за 3-та задача от лекцията Strings & Streams. Това е кодът, който съм написала досега, но в джъдж ми дава 83/100 и не се сещам какво пропускам. Благодаря предварително!

https://pastebin.com/58d065Sj

Тагове:
0
C++ Fundamentals
krum_43 avatar krum_43 750 Точки

Дай линк към условието.

0
galin_kostadinov avatar galin_kostadinov 166 Точки

Привет!

Пробвай следния тест (.a.), трябва да ти върне (.A.), както и с другите препинателни знаци...

Може да се използва в решението:

!isalpha(text[i - 1]) -> 
text[i] = toupper(text[i]);

Поздрави! :)

0
NinessonC avatar NinessonC 4 Точки

Здравейте, за да не започвам друга тема пиша тук. На мен също ми дава 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;
}

 

0
dmartinov avatar dmartinov 37 Точки

Аз дълго дълбах на тая задача също. На judge му писна от моите грешни submition-и, които все гърмяха на тест 1. Та, хубаво си задал след кои символи да прави главна буква, НО какво става, ако символа е различен, или пък са два последователни? ;) Пробвай текста от условието на задачата "we will--rock you" 

Освен това не може да изброиш всички символи от ASCII таблицата. То ще стане 300 реда код само, за да провери символите :D

Ta, накратко казано, моя жокер е  - if(!isalpha(word[g]) && isalpha(word[g+1]))  и ако това условие е изпълнено, направи го главна буква :)

0
08/10/2019 17:51:43
NinessonC avatar NinessonC 4 Точки

Изобщо не помислих, какво ще се случи, ако има например две тирета :D Реално, като добавих тире в проверката даде 100/100, но това е да излъжа джъджа, а иначе решението не струва изобщо и сега ще седна да го поправя! Много ти благодаря за подсказката, не знаех, че има функция като isalpha, супер полезна е за задачата

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