Loading...
Jovanna avatar Jovanna 186 Точки

C++ Advanced Task 05_04 - Split and Join

Здравейте,

доста се поизмъчих със задачите, не мога да разбера защо в Join.h  и  в Split.h не ми разпознава класа Song от main() файла.

Също, прочетох в нета че темплейтите не работят с ретърн-стойности, незнам дали е вярно това, тази задача доста ме затрудни като опитвам да я реша с темплейти, изобщо дали вярно съм подходила, може ли малко помощ? Ето кода: https://pastebin.com/ZJmZbPcG

Благодаря!

Тагове:
0
C++ Programming
Jovanna avatar Jovanna 186 Точки

Много благодаря! Мина със 100!! :-)

Заместих с find&replace от string, би ли споделил как става с getline() ?

ето:

void ReplaceCharSeparatorByEmptySpace(std::string&line, char separator) {
    std::string findString{ std::string(1, separator) };
    std::string replaceString = " ";
    int lengthOfFindString = findString.size();
    size_t foundIndex = line.find(findString);   
    while (foundIndex != std::string::npos) {
        line.replace(foundIndex, lengthOfFindString, replaceString);
        foundIndex = line.find(findString, foundIndex + 1 + (lengthOfFindString));
    }
}

Поздрави!

0
Todir avatar Todir 24 Точки

Ами входния стринг се слага в istringstream и след това този стриим се подава на getline а за трети параметър се подава сепаратора.

getline(input stream, output string, delimiter)

и това в while цикъл в който друг istringstream вади каквото има в output string-a и го слага в променлива от тип Т която се слага във вектора.

Същото като когато ползваме

while(std::getline(std::cin, inputString) ) да четеме от конзолата ред по ред докато подаваме нещо, но се слага още един параметър да каже какво приемаме за край на реда.

Аз така го направих, но може да има и по-добър начин.

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