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

Генератор слов для телефонного номера - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 53, средняя оценка - 4.77
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.07.2011, 12:24     Генератор слов для телефонного номера #1
Вот такая вот интересная задачка у Дейтела есть:
17.13. (Генератор слов для телефонного номера) Стандартный набор кнопок телефона
содержит цифры от 0 до 9. Каждая цифра от 2 до 9 имеет связанные с ней три
буквы, что отражено в следующей таблице:

Цифра - Буква
2 - ABC
3 - DEF
4 - GHI
5 - JKL
6 - MNO
7 - PRS
8 - TUV
9 - XYZ

Многие люди с трудом запоминают номера телефонов, поэтому они используют
соответствие между цифрами и буквами, чтобы подобрать слово из семи букв,
которое соответствовало бы телефонному номеру. Например, человек,
телефонный номер которого 686-2377, может воспользоваться подобной таблицей и
подобрать семибуквенное слово «NUMBERS».
Предприниматели часто пытаются получить номер телефона, который было бы
легко запомнить их клиентам. Если предприниматель сможет поместить в
рекламе простое слово, по которому клиенты могли бы звонить в его контору, тогда,
вне всяких сомнений, звонков будет несколько больше.
Каждое слово из семи букв соответствует ровно одному телефонному номеру.
Ресторан, желающий увеличить количество заказов на дом, безусловно сможет
сделать это, если его номер 825-3688 (т.е. «TAKEOUT»).
Каждому из семизначных номеров соответствует множество слов из семи букв.
К сожалению, большинство из них представляет собой бессмысленные
комбинации букв. Возможно, однако, что владелец парикмахерской был бы приятно
удивлен, узнав, что его телефон 424-7288 соответствует «HAIRCUT». Владелец
магазина, торгующего алкоголем, обрадуется, обнаружив, что телефон магазина
233-7226 соответствует «BEERCAN». Ветеринар, телефонный номер которого
738-2273, будет рад узнать, что этот номер соответствует слову «PETCARE».
Обработка файлов
1031
Напишите программу на С++, которая для данного семизначного числа записывает
в файл все возможные слова из семи букв, соответствующие этому номеру.
Существует 2187 (три в седьмой степени) таких слов. Избегайте телефонных номеров
с цифрами 0 и 1.

Собственно задачка то звучит интересно, но ... что-то не могу я придумать хитрого алгоритма чтобы всё обойти и ничего не упустить. Вообще даже не знаю как бы это циклом всё оббегать, может воспользоваться глобальными переменными в функции ... но это мне что-то такое придумалось да и идей по поводу полного цикла всё равно нет.

Я так понимаю есть какой-то алгоритм для таких случаев, так же как всякие сортировки для упорядочивания массивов данных, подскажите такой пожалуйста. Думаю что-то подобное с перебором большого количества вариантов помимо учебных задачек из книжки может понадобиться.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
12.01.2013, 23:44     Генератор слов для телефонного номера #21
ninja2 ваша программа работает с ошибкой
Миниатюры
Генератор слов для телефонного номера  
Вложения
Тип файла: zip text.zip (4.7 Кб, 17 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 05:23     Генератор слов для телефонного номера
Еще ссылки по теме:

C++ Автоматическое изменение префикса телефонного номера в зависимости от страны. Класс Person.
C++ Обработка телефонного номера в форме (XXX)XXX-XX-XX
Перечисления enum. Хранение типа телефонного номера C++

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

Или воспользуйтесь поиском по форуму:
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
31.01.2013, 05:23     Генератор слов для телефонного номера #22
Цитата Сообщение от isaak Посмотреть сообщение
ninja2 ваша программа работает с ошибкой
а шо за ошибка?
у меня все нормально без ошибок.

то шо в конце, то мелоч (у меня той фигни шо в конце нету)
Yandex
Объявления
31.01.2013, 05:23     Генератор слов для телефонного номера
Ответ Создать тему
Опции темы

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