![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
С помощию множества решить неудалось т.к оно неможет содержать одинаковые эл. и например слово Бар и Абар оно сочтёт одним и тем же (если просто буквы сравнивать).
Идея алгоритма такова что нужно как то завести два масива вних впихать через ф-цию ORD коды символов и пробежав по масиву выяснить можно ли при перестановки букв из одного слова получить другое (ну например ток-кот). Мой враг чистый лист, мозг остановился или совсем у меня его нет Условие задачи таково :Пусть даны две строки str1 и str2. Необходимо выяснить, можно ли из str1 путём перестановки литер получить строку str2 Пожалуйста помогите написать код..... Это сообщение отредактировал(а) Нэраварин - 9.3.2009, 14:31 |
|||
|
||||
| grigiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.12.2008 Репутация: -3 Всего: -3 |
Здравствуйте!
Еще нужна помощь? Помогу за вознаграждение. Обращайтесь: [email protected] http://www.grigiv.h15.ru P.S. Высылайте подробное задание и сообщите желаемый срок выполнения работы. |
|||
|
||||
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
Если бы у мну было много денег я бы непарился отсыпал кому нада и все бы задачи были решены, но так как я руский а все русские любят холяву
|
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
если строки имеют одинаковую длину, то всё очень просто. отсортируйте строки так, чтобы на минимальные значения были на первых местах, а максимальные - на последних. например. если строка дана "ivan", то после сортировки получится "ainv" как вы уже возможно догадались, после такой сортировки обе строки станут идентичными, если изначально из одной строки можно было получить другую. |
|||
|
||||
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
А можно примерчиком в виде кода? |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
только на С++
|
|||
|
||||
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
To zim22 пасиба конешно за помощь, но мне нужен пример на делфи и имено по такому алгоритму:
В массив впихать через ф-цию ORD коды символов, и пробежав по масиву,(и сравнив все коды символов) выяснить можно ли при перестановки букв из одного слова получить другое (ну например ток-кот). С++ я незнаю но так посмотрев на код я понел что ты просто сортируешь а потом сравниваешь две строки; Но строки не имеют одинаковую длину просто пользователь вводит в Edit'ы разные слова, а мне нужно пробежав по двум этим строкам вывести на лейбл ответ можно ли составить из 1-го 2-е слово.(то есть банально если есть такое же кол-во букв и используются теже буквы то ответ "да" и пофиг если там будет абракадабра) на паскале вроде бы нет такого для строк, а мне нужен пример кода(на паскале) где из Edit1 вытягивается с помощью функции ORD код символа и вставляется в масив вот имено это я и не понимаю как написать на паскале |
|||
|
||||
| morpheyushka |
|
||||
![]() Зеленый человек ![]() ![]() Профиль Группа: Участник Сообщений: 563 Регистрация: 26.2.2008 Где: Киев Репутация: 1 Всего: 8 |
а что тут не понятного?
|
||||
|
|||||
| Нэраварин |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
В строчке for i := 0 to Length(S - 1) do ошибка типо мол несовместимые типы строка и целое число, да и при том что то нехочет работать вбивка в масив таким образом |
||||||
|
|||||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 16 Всего: 69 |
попробуй так: for i := 0 to Length(S) - 1 do |
|||
|
||||
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
спасибо вам обоим за помощь, жаль немогу повысить вам репутацию, нет прав
|
|||
|
||||
| Нэраварин |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 9.3.2009 Репутация: нет Всего: нет |
Оказалось, что решение этой задачи с помощью сортировки массива и поиск в нём совпадени оказалась неэффективная (Мол а что если у вас будет очень много слов и сортировка работать будет долго неэкономно не практично и т.п)
Я так думаю нужно впихнуть в массив коды букв или сами буквы(без разницы какого типа будет масив подойдут оба способа) и одновременно проходится по двум массивам и если находятся одинаковые буквы в них удалять их из масива такой логикой по идее мы прийдём к тому что у масивов будет нуль различий(в случае если можно составить слова) нуль различий и будет признаком схожести слов, но вот как это записать на паскале "проходится одновремено по двум масивам да ещё и удалять одинаковые символы" я никак додуматься немогу особено как их удалять из масива. Пожалуйста подскажите Это сообщение отредактировал(а) Нэраварин - 1.5.2009, 00:18 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |