Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
rystik22
0 / 0 / 0
Регистрация: 27.04.2017
Сообщений: 9
#1

Запомнить самую длинную строку и выдать её после окончания работы цикла ввода

28.04.2017, 13:17. Просмотров 172. Ответов 6
Метки нет (Все метки)

2. На вход символьного фильтра подаются строки. Фильтр запоминает самую длинную строку и выдает её после окончания работы цикла ввода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2017, 13:17
Ответы с готовыми решениями:

[C] Найти самую длинную строку и поместить ее после самой короткой
Найти самую длинную строку и поместить ее после самой короткой.

Найти самую длинную строку в файле
Вроде все норм, вот только когда пытаюсь вывести через puts() - выводит все содержимое файла...

Найти самую длинную строку в файле
Есть задача: Дан произвольный файл с некоторым количеством строк. Найти самую длинную строку и...

Удалить самую длинную строку матрицы
1. Критерий для поиска в массиве структур: Сотрудники со стажем более 10 лет и заработной платой...

Определить самую длинную строку в тексте
Определить самую длинную строку в тексте. Найденную строку передавать в главную функцию. И ещё, не...

6
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
28.04.2017, 14:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
 
int main()
{
    std::string maxLenStr, str;
    while (std::cin >> str)
        if (maxLenStr.length() < str.length())
            maxLenStr = str;
    std::cout << maxLenStr << std::endl;
}
0
alexjun
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 202
Завершенные тесты: 1
28.04.2017, 14:12 #3
MrGluck, а кстати, по какой команде цикл прерывается? по умолчанию ввод идет с клавиатуры?
0
GoldenId
131 / 130 / 64
Регистрация: 11.11.2010
Сообщений: 770
Записей в блоге: 14
Завершенные тесты: 1
28.04.2017, 14:20 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <algorithm>
#include <chrono>
#include <iostream>
#include <iterator>
#include <random>
#include <sstream>
#include <string>
 
class sym_filt
{
    std::string longest{ "" };
public:
    void accept( const std::string& s )
    {
        if( s.length() > longest.length() )
            longest = s;
    }
 
    const std::string obtain() const
    {
        return longest;
    }
};
 
int main()
{
    sym_filt filt;
 
    std::default_random_engine gen{ std::chrono::system_clock::now().time_since_epoch().count() };
    std::uniform_int_distribution<char> ch_distr( 'a', 'z' );
    std::poisson_distribution<int> len_distr( 10 );
    std::poisson_distribution<int> num_distr( 10 );
    int num = num_distr( gen );
    for( int i = 0; i < num; i++ )
    {
        int len = len_distr( gen );
        std::stringstream ss;
        std::generate_n( std::ostream_iterator<char>( ss ),
                        len,
                        [&ch_distr, &gen] () { return ch_distr( gen ); } );
        filt.accept( ss.str() );
    }
    std::cout << filt.obtain();
    std::cin.get();
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
28.04.2017, 15:46 #5
Цитата Сообщение от alexjun Посмотреть сообщение
MrGluck, а кстати, по какой команде цикл прерывается? по умолчанию ввод идет с клавиатуры?
На винде, например, Ctrl + Z
0
alexjun
37 / 35 / 9
Регистрация: 13.02.2017
Сообщений: 202
Завершенные тесты: 1
28.04.2017, 16:04 #6
MrGluck, т.е. после окончания ввода последней строки нажимаем ctrl+z и это работает как конец строки и как конец работы cin<<?
А в никсах какое?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8078 / 4930 / 1431
Регистрация: 29.11.2010
Сообщений: 13,357
28.04.2017, 16:07 #7
Это EOF, который в итоге для cin >> даст false и цикл прекратит выполняться.
Для Unix Ctrl + D
0
28.04.2017, 16:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2017, 16:07

Записать в файл последовательность строк. Самую длинную строку удалить
Записать в файл последовательность строк. Самую длинную строку удалить. Помогите новичку

Дан текстовый файл.Найти самую длинную строку и её длину
Помогите, подготовиться к отчету.Дан текстовый файл.Найти самую длинную строку и её длину.на языке...

Найти в файле самую длинную строку и переписать её в другой файл
всем привет возник такой вопрос есть файл в который вносятся числа разного количества. по этому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru