Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление файлов из каталогов https://www.cyberforum.ru/ cpp-beginners/ thread116206.html
Помогите написать программу, которая позволяет удалять из каталога =(( Вот надо сначало создать директорию, а потом удалить какойнибудь файл :( HANDLE CreateFile ( LPCTSTR FileName, // имя...
Умножение двух матриц 1000х1000 C++
Ребят помогите пожалуйста. Надо умножить две матрицы 1000*1000. Обьявил их как int а мне пишет что они слишком большие.
C++ Качественные детали
Добрый день. Помогите мне кто-нибуть с этим заданием: В отдел технического контроля поступило M однотипных деталей цилиндрической формы, диаметры которых D1, D2 ,..., Dm. Деталь, соответствующую...
C++ Найти количество элементов в этих массива равных первому элементу массива S Даны целочисленные массивы S и T с разным количеством элементов. Найти количество элементов в этих массива равных первому элементу массива S. Ввод массивов выполнять в процедуре, а вычисление... https://www.cyberforum.ru/ cpp-beginners/ thread116189.html
C++ как написать прогу котороя находит площадь поверхности цилиндра https://www.cyberforum.ru/ cpp-beginners/ thread116149.html
Подскажите как написать прогу котороя находит площадь поверхности цилиндра по радиусу и высоте
Подскажите как решить на С++ C++
1 Даны натуральное число n, целые числа A0, ..., An-1. Получить сумму положительных и число отрицательных чётных элементов последовательности A0, ..., An-1 2 Дан массив действительных чисел A....
C++ и STL (раскритикуйте мою первую прогу) C++
Много всего делал на си а вот на С++ кроме калькулятора в Builder ничего. Вот написал такую прогу, которая анализирут текстовый файл и выдает информацию какое слово сколько раз встречается в тесте....
C++ Строки Всем привет! Есть такая задача: в последовательности символов найти цифры и посчитать их сумму. Делаю через ф-цию strpbrk ... - но что-то не сходится ... Кто-нибудь может помочь? #include... https://www.cyberforum.ru/ cpp-beginners/ thread116119.html
C++ Телефонная книга https://www.cyberforum.ru/ cpp-beginners/ thread116089.html
В общем, ребят, мне надо сделать подобие телефонной книги. Для записи контактов определить структуру: {Фамилия,Имя,Адрес,Номер телефона}. Так вот, как работать со структурами я уже знаю, я могу...
C++ Команда выбора Ввести номер месяца. Вывести количество дней в нем. https://www.cyberforum.ru/ cpp-beginners/ thread116068.html
Эксперт С++
5037 / 3097 / 271
Регистрация: 11.11.2009
Сообщений: 7,047
19.04.2010, 11:59 0

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

19.04.2010, 11:59. Просмотров 1250. Ответов 11
Метки (Все метки)

Ответ

Я бы дела так. Ищем все комбинации введённых букв (не обязательно всего набора) (можно буквы пронумеровать индексами от 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2010, 11:59
Готовые ответы и решения:

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

Консольная "графика", игра "Тетрис". Фигуры перестают прорисовываться на определенном этапе
Доброго времени! Написал на днях тетрис (в консоле) с использованием, кажется это называется...

"Крестики-нолики": проверить, закончена ли игра выигрышем "крестиков"
Клеточное поле размером 5х5 является результатом игры в крестики-нолики. проверить, закончена игра...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

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