С++. Найти самое длинное слово
Совсем недавно начал изучать C++, и с одной из решаемых задач возникла проблема. Смысл задачи такой: получить на вход строку состоящую из произвольных ASCII символов, найти и вывести самое длинное слово в ней (словом считается непрерывная последовательность латинских букв). Если существует несколько слов максимальной длины нужно вывести первое из них.
Прикладываю свой код, которому тестирующая система засчитывает Partial Solution.
#include <iostream>
#include <string>
using namespace std;
int main(){
string sentence;
getline(cin, sentence);
string word;
string maximum;
for (int i = 0; i < sentence.size(); ++i){
if (isalpha(sentence[i])){
word += sentence[i];
}
else{
if (word.size() > maximum.size()){
maximum = word;
word.clear();
}
else{
word.clear();
}
}
}
cout << maximum;
}
Источник: Stack Overflow на русском