Форум программистов, компьютерный форум CyberForum.ru

В строке удалить слова наибольшей длины... - C++

Восстановить пароль Регистрация
 
DebieCooper
 Аватар для DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 285
12.10.2011, 13:07     В строке удалить слова наибольшей длины... #1
Доброго времени суток всем. Учусь у универе и долго болел. Сейчас дали пару задач, вобще не понимаю как решать) Надеюсь на вашу помощь.
Вот задача:
В строке удалить слова наибольшей длины. Оставшиеся слова записать через пробел.
Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2011, 13:07     В строке удалить слова наибольшей длины...
Посмотрите здесь:

Вводится строка. Выведите все слова наибольшей длины в этой строке C++
определение длины слова с номером n в строке s C++
Строки. Удалить слова наибольшей длины C++
Выбрать из заданного текста слова заданной длины и напечатать их по одному на каждой строке C++
Из текста удалить все слова заданной длины,начинающиеся с согласных букв C++
Необходимо найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки, используя символ "!" C++
C++ Нужно найти строку наибольшей длины и увеличить остальные строк в массиве к длине наибольшей строки, используя символ "!"
В словах наибольшей длины удалить среднюю букву (средние буквы) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.10.2011, 15:25     В строке удалить слова наибольшей длины... #2
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
46
47
48
49
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string str;
 
    std::cout << "Enter string: ";
    std::getline(std::cin, str);
 
    std::istringstream istr(str);
 
    std::vector< std::string > words;
    std::string word;
 
    while (istr >> word)
        words.push_back(word);
 
    std::vector< std::string >::const_iterator max_len_it =
        std::max_element(words.begin(),
        words.end(),
        [](const std::string &left, const std::string &right) -> bool
        {
            return left.length() < right.length();
        });
 
    std::string::size_type max_len = 0;
 
    if (max_len_it != words.end())
        max_len = max_len_it->length();
 
    words.erase(std::remove_if(words.begin(),
                               words.end(),
                               [=](const std::string &word) -> bool
                               {
                                   return word.length() == max_len;
                               }),
                words.end());
 
    std::copy(words.begin(), words.end(), std::ostream_iterator< std::string >(std::cout, " "));
 
    std::cout << std::endl;
 
    return 0;
}
Yandex
Объявления
12.10.2011, 15:25     В строке удалить слова наибольшей длины...
Ответ Создать тему
Опции темы

Текущее время: 04:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru