Дан текстовый файл. для каждой строки распечатать слово наибольшей длины. если их несколько - распечатать все. язык с++. //предполагается, что текстовый файл содержит строки длиной не более 80 символов, строка состоит из слов, разделенных произвольным количеством пробелов.

ArtemTony ArtemTony    1   21.09.2019 10:30    2

Ответы
АлинаПристать6 АлинаПристать6  08.10.2020 07:05
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

#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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика