| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Поиск одинаковых букв в двух словах |
| Автор: Griphon 20.1.2009, 00:28 |
| Добрый вечер! Есть два слова,нужно сравнить их на предмет одинаковых букв, и если буквы второго- будут в первом, второе вывести на экран. Слова разных размеров и буквы в них расположены по разному. |
| Автор: garbuz 20.1.2009, 00:55 | ||
Если правильно понял, то как-то так
|
| Автор: ivg 20.1.2009, 01:22 | ||
Улучшаем производительность
upd: Исправил ошибку. |
| Автор: Griphon 20.1.2009, 03:28 |
| Я имел введу, если все буквы второго будут в первом, тогда вывести на экран второе |
| Автор: AndrewMormysh 20.1.2009, 12:43 | ||
|
| Автор: Griphon 23.1.2009, 22:19 | ||
Решил модифицировать код ivg :
Последняя проверка почемуто не срабатывает, понять не могу. Буду презнателен за помощь. |
| Автор: ivg 23.1.2009, 22:48 |
Самый простой способ вообразить себя процессором/компьютером/VM и отработать участок кода. Чем не устроил? |
| Автор: Griphon 23.1.2009, 23:01 |
| Мне надо чтоб проверялись все символы второго слова, а не один.(т.е все символы второго слова полностью должны быть в первом массиве, но не все символы первого- во втором) Пример : Пробор и побор но не Пробор парк (совместные буквы "п и р") Пишу головоломку Буримэ. Бypимэ - лoгичecкaя игpa, в кoтopoй из бyкв нeкoтopoгo cлoвa нyжнo cocтaвить кaк мoжнo бoльшe дpyгиx cлoв. Ocнoвным пoкaзaтeлeм игpы являeтcя кoличecтвo бyкв в coздaнныx cлoвax |
| Автор: dorogoyIV 23.1.2009, 23:14 |
ты имеешь ввиду ? так а зачем эта проверка?! |
| Автор: almagnit 23.1.2009, 23:38 | ||||
| ИМХО очень "кривая модификация" цикла и неправильные отступы (что затрудняет читабельность, пришлось копировать и форматировать вручную), А проверка не срабатывает из-за того что разница между ArrayT[0] и ArrayP[0] больше или равна ArrayT.lenght
|
| Автор: ivg 23.1.2009, 23:59 | ||
Griphon,
А в том коде я допустил ошибку. |
| Автор: Griphon 24.1.2009, 03:36 | ||||
Перемменная counter в моем коде введена для подсчета совпаших букв, и если она равна значению длины playerAnsw (в твоем варианте -target) , т.е все буквы слова target есть в слове taskWord( в твоем варианте -set), вывести сообщение за основу использую алгоритм http://algolist.manual.ru/search/lce.php А вот это полностью рабочий вариант созданный мною (если трудно прочитать, сорри)
|
| Автор: Griphon 24.1.2009, 20:05 | ||
Этот алгоритм работает с произвольным количеством букв во втором слове(главное чтоб оно не превышало количество букв в- первом) |
| Автор: math64 24.1.2009, 23:25 | ||
Griphon Если хранить слова в базе данных, как я советовал в другой теме посвященной твоей игре, все слова которые можно составить из выбранного слова, можно выбрать с помощью одного SQL-эапроса:
(Вместо ? подставляешь число соответствующих букв в твоём слове) |
| Автор: Griphon 25.1.2009, 02:06 |
| to math64 Я видел твой совет-я новичок в java и пока не хочу лезть в дебри, но все равно спасибо |