Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
morisqaaa
1 / 1 / 1
Регистрация: 21.10.2016
Сообщений: 16
1

Вывести слова в алфавитном порядке

06.10.2017, 09:57. Просмотров 1346. Ответов 3
Метки нет (Все метки)

Дана строка-предложение. Вывести на экран все слова данной строки в алфавитном порядке
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2017, 09:57
Ответы с готовыми решениями:

Вывести все слова из файла в алфавитном порядке, указать частоту каждого слова
Вывести алфавитный список всех слов заданного текста с указанием количества...

Вывести слова в алфавитном порядке
С клавиатуры читается последовательность строк. Напечатать ее в...

Вывести слова в алфавитном порядке
Здравствуйте, помогите доделать прогу, в ней выводятся слова которые состоят из...

Вывести слова в строке в алфавитном порядке
Есть строка char (проинициализированная в коде), где слова разделены пробелами...

Вывести слова строки в алфавитном порядке
Создать программу, которая из произвольного строки, содержащий некоторый текст,...

3
Даценд
Модератор
Эксперт .NET
4286 / 4017 / 2661
Регистрация: 20.04.2015
Сообщений: 7,304
06.10.2017, 10:44 2
Лучший ответ Сообщение было отмечено morisqaaa как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <vector>
 
int main()
{
    std::string str = "zzz wee dfgbd asdsd dfgbdf aaaa fgf sdg dd asdfsdf";
    std::istringstream oss(str);
    std::istream_iterator<std::string> beg(oss), end;
    std::vector<std::string> words(beg, end);
    std::sort(words.begin(), words.end());
    std::copy(words.begin(), words.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    return 0;
}
2
morisqaaa
1 / 1 / 1
Регистрация: 21.10.2016
Сообщений: 16
06.10.2017, 11:22  [ТС] 3
Все конечно круто и работает, но замудренно слишком
0
MrGluck
Модератор
Эксперт CЭксперт С++
8105 / 4957 / 1436
Регистрация: 29.11.2010
Сообщений: 13,451
06.10.2017, 11:44 4
Может быть так будет проще?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <set>
#include <sstream>
#include <string>
#include <iterator>
 
int main()
{
    const std::string str = "zzz wee dfgbd asdsd dfgbdf aaaa fgf sdg dd asdfsdf";
    std::istringstream ist(str);
    using input_str = std::istream_iterator<std::string>;
    for (const auto &s : std::multiset<std::string>(input_str(ist), input_str()))
        std::cout << s << " ";
}
Тут в любом случае надо использовать istringstream + сортировку, либо то же самое писать ручками, что очень усложнит программу и увеличит размер кода в разы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2017, 11:44

Вывести в алфавитном порядке последние слова всех предложений
Помогите, пожалуйста, исправить код, а то дуб дубом((Не могу никак дойти( Дан...

Вывести слова текста в алфавитном порядке и посчитать их количество
1. Дана строка символов, состоящая из произвольного текста на английском языке,...

Вывести в алфавитном порядке предпоследние слова всех предложений
Дан текст, состоящий из N (2&lt;=N&lt;=10) строк с максимальной длиной 80 символов....


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

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

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