Задача
Кролик Клевер продолжает изучать программирование. Он уже изучил строки. Недавно он перешел к изучению подпрограмм, а именно процедур. Но никак не поймет как их использовать. Недавно Клеверу захотелось написать программу, чтобы она из двух предложений печатала самые длинные слова в столбик (если таких слов несколько, то он брал первое встретившееся). Он совсем забыл про процедуры и написал очень сложную программу.
Вот она:
#include <iostream>
using namespace std;
main()
{
int max, n;
string s1, s2,wordMax;
getline(cin, s1);
getline(cin, s2);
max=0;
s1=s1+" ";
while(s1.size() > 0)
{
n = s1.find(" ");
string word=s1.substr(0,n);
if(word.size()>max)
{
max = word.size();
wordMax = word;
}
s1.erase(0, n+1);
}
cout << wordMax << endl;
max=0;
s2=s2+" ";
while(s2.size() > 0)
{
n = s2.find(" ");
string word=s2.substr(0,n);
if(word.size()>max)
{
max = word.size();
wordMax = word;
}
s2.erase(0, n+1);
}
cout << wordMax << endl;
}
Согласитесь это довольно сложная для восприятия программа.
Помогите кролику Клеверу улучшить программу, выделив одинаковые действия в процедуру.