22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
1 | |
Можно ли из символов одного слова составить другое.12.03.2010, 15:46. Показов 6190. Ответов 18
Метки нет (Все метки)
Не пойму как написать программу: например, задаем строку или вводим ее с экрана, например слово tutu, затем вводим еще одно слово, и программа должна вычислить можно ли из состава букв первого слова составить второе, если можно то вывести на экран-можно, если нет , то вывести лишние буквы и недостающие. Вот например: ввел tutu и сравнивается оно с utut - можно; вот еще одно условие, нужно смотреть если в первом слове стоят две одинаковые буквы(например в данном случае две t и две u), то на их месте во втором слове должны стоять также две одинаковые буквы; а вот слово utat уже нельзя составить из tutu, так как на месте "a" должна стоять u. (если что, то слова аналогичные: dudu, baba и т.д) Помогите пожалуйста, буду очень благодарен, а то я в строках слабоват.
0
|
12.03.2010, 15:46 | |
Ответы с готовыми решениями:
18
Определить, можно ли из букв одного слова составить другое Определить, можно ли из букв одного слова составить другое слово Определить, можно ли из букв одного слова составить другое По заданным двум словам определить, можно ли из букв одного слова составить другое |
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
12.03.2010, 15:54 | 2 |
обьясню как ето сделать))) есть две стринговые переменные, первое и второе слово, теперь...
берем два цыкла, в первом проходим по символам первого слова во втором по второму и сравниваем буквы, если есть совпадение удаляем ети буквы из двух слов и переходим к следующей букве, итог если в втором слове не останетса букв то его можно составить, если в первом при етом остались какие-то буквы то они лишнее, если же в втором остались буквы то они недостающее) вобщем так вот) надеюсь теперь вам понятно как ето делать, ня)
1
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
12.03.2010, 16:02 [ТС] | 3 |
Всего то) ну спасибо, понял конечно)
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
12.03.2010, 16:04 | 4 |
Rodik, всего-то) правда там смотрите не поудаляйте лишнего и не проморгайте какую именно букву вы ищете))) там можно нахомутать)))
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
13.03.2010, 13:18 | 5 |
Можно иначе.
Заводим массив, который для каждой буквы содержит ее кол-во - то есть счетчик букв. Строим такой массив A по первому слову и массив B по второму. Потом сравниваем эти два массива. Если в цикле по i верно что A[i]<=B[i], тогда можно составить. Лишние или недостающие чтоже легко вычисляются.
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
13.03.2010, 13:22 | 6 |
odip, Ну зачем из строки делать массив, если она и так массив? При чем удаление элементов из строки намного проще чем из массива символов.
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
13.03.2010, 15:05 [ТС] | 7 |
если кто может, напишите пожалуйста хотябы самое главное-серединку программы)
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
13.03.2010, 16:50 [ТС] | 8 |
а то меня смущает процесс удаления и как узнается то, что на месте тех одинаковых букв стоят две одинаковые буквы во втором слове. Если не трудно напишите пожалуйста хотяб середку проги.
0
|
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
14.03.2010, 10:12 | 9 |
Например 65-эй элемент содержит счетчик сколько раз встречается буква 'a' ( ord('a')=65 ). В моем алгоритме удалять ничего не нужно - нужно просто посчитать сколько бука 'a', сколько 'b', и так далее. И алгоритм гораздо быстрее, так как требуется всего O(N) действий.
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
15.03.2010, 00:46 [ТС] | 10 |
а КАК происходит сравнение то, что на месте букв в первом слове, стоят также две одинаковые буквы во втором???
Добавлено через 10 часов 3 минуты PLEASE,очень надо... Добавлено через 4 часа 27 минут [QUOTE=Rodik;597727]а КАК происходит сравнение то, что на месте букв в первом слове, стоят также две одинаковые буквы во втором??? Подскажите пожалуйста.
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
||||||
15.03.2010, 10:17 | 11 | |||||
Rodik, но вы же говорили что все ясно...
вот как вариант для одного цыкла... пробуйте я не проверял
1
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
15.03.2010, 12:21 [ТС] | 12 |
Спасибо большое, правда чуток не точно в буквах лишних и недостающих, но это не проблема...
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
15.03.2010, 12:46 | 13 |
Rodik, да незачто... а что не точно? кажысь все прально должно быть)
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
15.03.2010, 12:50 [ТС] | 14 |
да просто поменять надо местами недостающие и лишние...а то наоборот выводит в вместо лишних пишет недостающие,,......хотя это если посмотреть в каком слове...
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
15.03.2010, 12:58 | 15 |
стрянно ня...
вот вводим например первым словом "йцукен", ето слово из которого составляем вторым словом "цукенгш" ето то что надо составить нам пишет "составить мол нельзя, лишнее "й" не хватает "г", "ш"..." разве не так должно быть? О_о
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
15.03.2010, 13:00 [ТС] | 16 |
я бы написал что лишнее "гш" а не хватает й ....
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
15.03.2010, 13:04 | 17 |
Rodik, а вам не кажетса что чтобы составить слово "цукенгш" из слова "йцукен" нам не хватает "гш" в слове "йцукен", а "й" в нем лишняя ня?
0
|
22 / 5 / 8
Регистрация: 07.12.2009
Сообщений: 122
|
|
15.03.2010, 13:07 [ТС] | 18 |
Дак я то смотрю лишние во втором слове, то бишь в йцукен нету же гш , поэтому они и лишнее, вот...
Добавлено через 56 секунд Хотя кто с каким сравнивает)
0
|
4117 / 999 / 191
Регистрация: 09.04.2009
Сообщений: 4,223
|
|
15.03.2010, 13:09 | 19 |
ммм... ладно... по моему мнению у мну прально, если вы считаете иначе то там переделать не сложно) дерзайте)
0
|
15.03.2010, 13:09 | |
15.03.2010, 13:09 | |
Помогаю со студенческими работами здесь
19
Проверьте, можно ли вычеркиванием букв из одного слова получить другое Вывести слова, из которых можно составить другое слово Два слова есть анаграммами, если вы можете переставить буквы одного, чтобы составить другое Выяснить, можно ли из символов заданного слова составить заданное слово Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |