Дан текстовый файл. для каждой строки распечатать слово наибольшей длины. если их несколько - распечатать все. язык с++. //предполагается, что текстовый файл содержит строки длиной не более 80 символов, строка состоит из слов, разделенных произвольным количеством пробелов.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
fstream f("F1.txt");
size_t max_size;
string s, max_word, word;
while ( getline(f, s) ) {
istringstream is(s);
max_size = 0;
while (is >> word) {
if (max_size < word.size()) {
max_size = word.size();
max_word = word;
} else if (max_size == word.size()) {
max_word += " = ";
max_word += word;
}
}
cout << max_size << ' ' << max_word << endl;
}
}
Пример:
asfasfafs sdf sdg xcz
zxcvxcv sdggsd
asdgsdg
sgdgsd sdagsdg
gsd sdg sdg
sdggg sdg sh
ответ:
9 asfasfafs
7 zxcvxcv
7 asdgsdg
7 sdagsdg
3 gsd = sdg = sdg
5 sdggg