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

"Словесная игра" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление файлов из каталогов http://www.cyberforum.ru/cpp-beginners/thread116206.html
Помогите написать программу, которая позволяет удалять из каталога =(( Вот надо сначало создать директорию, а потом удалить какойнибудь файл :( HANDLE CreateFile ( LPCTSTR FileName, // имя...
C++ Умножение двух матриц 1000х1000 Ребят помогите пожалуйста. Надо умножить две матрицы 1000*1000. Обьявил их как int а мне пишет что они слишком большие. http://www.cyberforum.ru/cpp-beginners/thread116199.html
C++ Качественные детали
Добрый день. Помогите мне кто-нибуть с этим заданием: В отдел технического контроля поступило M однотипных деталей цилиндрической формы, диаметры которых D1, D2 ,..., Dm. Деталь, соответствующую...
Найти количество элементов в этих массива равных первому элементу массива S C++
Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива S. Ввод массивов выполнять в процедуре, а вычисление...
C++ как написать прогу котороя находит площадь поверхности цилиндра http://www.cyberforum.ru/cpp-beginners/thread116149.html
Подскажите как написать прогу котороя находит площадь поверхности цилиндра по радиусу и высоте
C++ Подскажите как решить на С++ 1 Даны натуральное число n, целые числа A0, ..., An-1. Получить сумму положительных и число отрицательных чётных элементов последовательности A0, ..., An-1 2 Дан массив действительных чисел A.... подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.04.2010, 11:59
Я бы дела так. Ищем все комбинации введённых букв (не обязательно всего набора) (можно буквы пронумеровать индексами от 1 до 3 (4, 5, 6, 7, в зависимости от ввода) и искать комбинации цифр 123, либо 1234, 12345, 123456, 1234567, а потом для каждого найденного набора вместо цифры подставлять нужную букву), далее для каждого найденного набора букв искать все слова в словаре, совпадающие с найденным наборами. Заносить эти слова в, например, массив строк. Далее мы просто считаем вЕсы всех найденных слов или их пар (пару составляем так: берём первое слово, далее подставляем к нему второе, третье, ... , n-е, затем берём второе слово, к нему подставляем третье, ..., n-е и т.д, но это и так понятно))) ), находим максимальный, а затем снова просматриваем массив строк, составляя слова (или пары) с найденным весом. Выводим переменную max (максимальный вес) и отредактированный массив строк, содержащий только слова (или пары) с таким весом.
Скорее всего рекурсия будет в функции, ищущей наборы букв.

Добавлено через 50 минут
Так, вся фишка сейчас в том, чтобы написать функцию, ищущую все эти возможные перестановки... Думаю, нужно написать сначала код, ищущий перестановку N чисел, и затем для каждой найденной перестановки рекурсивно применять его для N-1 чисел...

Добавлено через 32 минуты
Так, чтобы перебрать все возможные варианты для N цифр, мы просто берём последнюю цифру числа и "тянем" её через всё число, пока она не займёт первую позицию. Затем в получившемся числе берём последнюю цифру и опять "тянем" её вдоль числа до первой позиции и т.д. Продолжаем, пока последнее число не совпадёт с исходным. Пример для числа 123 (для нашей задачи: например, пользователь ввёл "адф". Нумеруем а = 1, д = 2, ф = 3, ищем комбинацию для 123, подставляем вместо цифр соответствующие буквы и ищем получившееся слово в словаре)
Пример: пользователь ввёл отк. Нумеруем: о = 1, т = 2, к = 3. Ищем комбинации
123 132 312
321 231
213 123 (совпало с начальным -> отбрасываем последний результат).
Получили ряд
123 132 312 321 231 213 он соответствует словам
отк окт кот кто тко ток
Скорее всего найденные в словаре слова будут: кот, кто, ток

Осталось подумать, пренебречь ли ресурсами и тупо ко всем найденным перестановкам рекурсивно применять алогритм для меньшего числа цифр (тогда будут повторяться некоторые наборы, соответственно будет происходить повторная процедура поиска), или же пренебречь памятью и хранить все найденные перестановки в массиве строк, исключая повторения, а уже после нахождения ВСЕХ возможных перестановок включать процедуру поиска...

Добавлено через 18 секунд
И я склоняюсь ко второму варианту.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru