|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.02.2019, 15:17 | #1 |
Новичок
Джуниор
Регистрация: 13.02.2019
Сообщений: 2
|
[C++] дано слово. Из всех его букв складываются другие слова, Составить программу, которая по заданному слову из этого набора составляет следующее за ним по алфавиту.
Помогите с задачей. Условие:"Задано слово(латинскими буквами) . Из всех его букв складываются другие слова, возможно и бездумные. Составить программу, которая по заданному слову из этого набора составляет следующее за ним по алфавиту слово из этого же набора. На экран выводится заданное слово и следующее по алфавиту."
Последний раз редактировалось ST1G; 13.02.2019 в 15:21. |
13.02.2019, 15:29 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Если в нем не очень много букв, то самый простой способ создать массив всех возможных слов, отсортировать, найти в нем исходное и выбрать следующее. Желательно букв в слове не больше 10-12
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.02.2019, 21:43 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
12! = 479.001.600 море удовольствия при составлении этой горстки слов. А уж отсортироваь... Стьюдент колледж окончит, женится, сына в армию отправит - а сортровка все идет. Эх, суперкомпьютер бы сюда ! Не перестаю удивляться
Последний раз редактировалось digitalis; 13.02.2019 в 21:47. |
13.02.2019, 22:02 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Около 6 гиг для массива в памяти многовато конечно, но вполне реально. Да и сортировка пол миллиарда слов QuickSort за вполне реальное время справится с этим, по крайней мере не часы, а десятки минут, предположительно, не проверял. А так да, хотя бы для слов из 5-6 букв сделал )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 13.02.2019 в 22:05. |
14.02.2019, 08:25 | #5 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Тут явно нужен перебор в лексикографическом порядке. Если буквы исходного слова отсортировать, а из них уже перебирать все возможные комбинации. При этом, выделить функцию, которая бы возвращала следующее значение, то можно получить требуемый результат. Если ошибаюсь, поправьте.
|
14.02.2019, 09:25 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно и нужно. Выше же о самом простом способе, ну а не очень простой быстрей и намного. Только подумать нужно. Например так, только ТС пусть сам переводит
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 14.02.2019 в 09:30. |
15.02.2019, 11:10 | #7 |
Новичок
Джуниор
Регистрация: 15.02.2019
Сообщений: 1
|
Спасибо мне тоже помогло
|
21.02.2019, 17:47 | #8 |
Новичок
Джуниор
Регистрация: 13.02.2019
Сообщений: 2
|
Спасибо!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Pascal] Дан текст со словами из строчных русских букв. Составить программу, для вывода всех гласных буквы, которые входят хотя бы в одно слово более двух раз | Борис65 | Помощь студентам | 9 | 07.06.2017 11:08 |
Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В. | Конь Антон | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 10.06.2015 14:44 |
Даны два слова. Составьте программу, определяющую можно или нет из букв слова А составить слово В | Конь Антон | Помощь студентам | 1 | 24.05.2015 16:43 |
программа, которая удаляет из слова наименьшее количество букв так, чтобы слово не содержало двух типов опечаток. | Николай Сергеев | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 20.11.2013 16:52 |
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. | Паскалька^^ | Помощь студентам | 5 | 19.10.2010 00:55 |