![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
![]()
Здравствуйте, помогите с чего начать.
Работа на МАН по информатике. Надо сделать так чтобы программа считывала первое, второе и третье слово, и находило (все или одно) решение это ввыражения. ТРИ + Два ____ Пять |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
![]() Код:
А надо сделать так чтобы: Мы вписываем любое криптарифметическое уравнение, 1 буква в первую переменную, 2 буква во вторую и т.д. , она распознаёт одинаковые и ищет решение по вышезаданному алгоритму. Последний раз редактировалось PersonUnknown; 31.10.2011 в 16:56. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
вы не первый столкнулись с подобной задачей.
в общем виде эти задачи решаются ПЕРЕБОРОМ. посмотрите вот эти темы: Ребус! Решение ребусов в Паскале Ребус |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
![]()
Ну решения немного отличаются.
Я пришёл сюда чтобы спросить как в записать каждое значение в свою переменную из 1,2,3 слова. Поможете, а? Последний раз редактировалось Stilet; 08.11.2011 в 09:04. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Правда, не уверен, что Вы это расцените, как помощь, ибо код получился не совсем примитивно/простой/учебный... Зато универсальный! За основу взята программа (c) Sazary по решению ребуса. (только там было умножение, а не сложение). Код я чуток доработал. Результат в архиве. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]()
PersonUnknown, твоя идея поиска с переменными, которые сами распознаются на совпадения и т.п., в принципе правильная. Но только ты пойми, что отдельные именованные переменные так использовать не удастся. Нужно применять "занумерованные переменные", а иными словами - массив.
Серж, прога классная ![]() У меня тоже есть прожка на эту тему.. Длинных чисел она не понимает, зато умеет не только складывать, но и вычитать, умножать и делить (только в порядке слева направо и без скобок). И чистый Pascal. Данные вводятся в одну строчку, например: корова + корова = стадо - бык руки * голова = голова / ноги sic + transit + gloria - mundi = 0 Эти примеры я взял с потолка прям шас, они вряд ли сработают - только чтоб продемонстрировать. Кстати, кроме букв (русских и латинских) там могут быть и цифры (их значения равны их значениям)). Код:
Предпочитаю на "ты".
|
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
TinMan, как я писал Выше, решение не моё. я только чуток его модифицировал.
Цитата:
![]() поясните, пожалуйста. Дело в том, что там все исходные слова разбиваются на уникальные буквы. Полученные буквы заносятся в массив. ну и дальше уже идёт перебор по элементам массива... да, и "дельфистости" в ней совсем ничего.. при необходимости легко заменю на чистый Паскаль... Цитата:
Забираю к себе в копилочку! ![]() Спасибо! добавлено а алгоритм перебора у меня в примере, похоже, не все варианты находит! ![]() проверил на банальном: два+два=сад у Вас нашло 4 варианта, у меня код нашёл только один вариант. ![]() так что - прошу взять на заметку: мой Rebus1_sources.rar не все варианты находит! Последний раз редактировалось Serge_Bliznykov; 02.11.2011 в 13:25. |
||
![]() |
![]() |
![]() |
#8 | ||
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
![]()
Это я автору темы.. Цитирую его:
Цитата:
Цитата:
![]() Исправление. Конечно, не 3, а 2 одинаковых )).
Предпочитаю на "ты".
Последний раз редактировалось TinMan; 02.11.2011 в 23:19. |
||
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 31.10.2011
Сообщений: 19
|
![]()
Огромное спасибо за предоставленную помощь!
В какой среде написана программа, делфи? Последний раз редактировалось PersonUnknown; 07.11.2011 в 22:18. |
![]() |
![]() |
![]() |
#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 |