Я пытаюсь сделать функцию, которая отфильтровывает все знаки препинания и пробелы в предложениях и возвращает только буквы и цифры в новой строке.Функция не возвращает нужную строку
ex. Если я напечатаю: Привет, меня зовут Zach1234. Я хочу, чтобы он возвращался только: himynameiszach1234
Однако он сохраняет только первую букву. Любые идеи о том, как исправить эту проблему?
#include <iostream>
#include <cctype>
using namespace std;
string filter(string str)
{
string result = "";
for(int i = 0; i < (str.size()-1); i++)
{
if(isspace(str[i]))continue;
if(ispunct(str[i]))continue;
if(isdigit(str[i]))result += str[i];
if(isalpha(str[i]))result += str[i];
}
return(result);
}
int main()
{
string happy;
cout <<"Please enter a string\n";
cin >> happy;
cout << filter(happy) << endl;
return(0);
}
Прежде всего, вы должны использовать 'getline()' для чтения на входе с пробелами. – NathanOliver
@NathanOliver, это точно проблема, вы должны отправить ответ – vsoftco
Это не позволит мне принять мой собственный ответ в течение двух дней –