|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.10.2011, 13:41 | #1 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
Криптарифметическая задача
Здравствуйте, помогите с чего начать.
Работа на МАН по информатике. Надо сделать так чтобы программа считывала первое, второе и третье слово, и находило (все или одно) решение это ввыражения. ТРИ + Два ____ Пять |
31.10.2011, 13:45 | #2 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
Код:
А надо сделать так чтобы: Мы вписываем любое криптарифметическое уравнение, 1 буква в первую переменную, 2 буква во вторую и т.д. , она распознаёт одинаковые и ищет решение по вышезаданному алгоритму. Последний раз редактировалось PersonUnknown; 31.10.2011 в 16:56. |
31.10.2011, 16:09 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вы не первый столкнулись с подобной задачей.
в общем виде эти задачи решаются ПЕРЕБОРОМ. посмотрите вот эти темы: Ребус! Решение ребусов в Паскале Ребус |
31.10.2011, 16:21 | #4 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
Ну решения немного отличаются.
Я пришёл сюда чтобы спросить как в записать каждое значение в свою переменную из 1,2,3 слова. Поможете, а? Последний раз редактировалось Stilet; 08.11.2011 в 09:04. |
01.11.2011, 14:59 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Правда, не уверен, что Вы это расцените, как помощь, ибо код получился не совсем примитивно/простой/учебный... Зато универсальный! За основу взята программа (c) Sazary по решению ребуса. (только там было умножение, а не сложение). Код я чуток доработал. Результат в архиве. |
|
02.11.2011, 12:58 | #6 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
PersonUnknown, твоя идея поиска с переменными, которые сами распознаются на совпадения и т.п., в принципе правильная. Но только ты пойми, что отдельные именованные переменные так использовать не удастся. Нужно применять "занумерованные переменные", а иными словами - массив.
Серж, прога классная . Она работает с длинными числами, и это я вижу в таких ребусах впервые. Несколько излишне задельфованная для раздела про Паскаль, правда )). У меня тоже есть прожка на эту тему.. Длинных чисел она не понимает, зато умеет не только складывать, но и вычитать, умножать и делить (только в порядке слева направо и без скобок). И чистый Pascal. Данные вводятся в одну строчку, например: корова + корова = стадо - бык руки * голова = голова / ноги sic + transit + gloria - mundi = 0 Эти примеры я взял с потолка прям шас, они вряд ли сработают - только чтоб продемонстрировать. Кстати, кроме букв (русских и латинских) там могут быть и цифры (их значения равны их значениям)). Код:
Предпочитаю на "ты".
|
02.11.2011, 13:18 | #7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
TinMan, как я писал Выше, решение не моё. я только чуток его модифицировал.
Цитата:
поясните, пожалуйста. Дело в том, что там все исходные слова разбиваются на уникальные буквы. Полученные буквы заносятся в массив. ну и дальше уже идёт перебор по элементам массива... да, и "дельфистости" в ней совсем ничего.. при необходимости легко заменю на чистый Паскаль... Цитата:
Забираю к себе в копилочку! Спасибо! добавлено а алгоритм перебора у меня в примере, похоже, не все варианты находит! проверил на банальном: два+два=сад у Вас нашло 4 варианта, у меня код нашёл только один вариант. так что - прошу взять на заметку: мой Rebus1_sources.rar не все варианты находит! Последний раз редактировалось Serge_Bliznykov; 02.11.2011 в 13:25. |
||
02.11.2011, 13:32 | #8 | ||
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Это я автору темы.. Цитирую его:
Цитата:
Цитата:
Исправление. Конечно, не 3, а 2 одинаковых )).
Предпочитаю на "ты".
Последний раз редактировалось TinMan; 02.11.2011 в 23:19. |
||
07.11.2011, 22:16 | #9 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
Огромное спасибо за предоставленную помощь!
В какой среде написана программа, делфи? Последний раз редактировалось PersonUnknown; 07.11.2011 в 22:18. |
08.11.2011, 00:44 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
вариант TinMan - на "чистом" Паскаль. (т.е. он будет компилироваться и работать как на TurboPascal, так и на FreePascal или Delphi). Ну, разумеется, в консольном приложении... Ну и ещё, вариант TinMan более корректный. Он отображает все варианты (мой лажает. почему не знаю, да и теперь лень разбираться.. Если есть более короткий работающий аналог...) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |
задача | tcjkjl | Общие вопросы Delphi | 0 | 13.12.2010 14:16 |
Задача на C++ | jamik2012 | Помощь студентам | 0 | 13.12.2010 10:35 |
задача) | Chief | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 12.01.2009 13:00 |