Форум программистов, компьютерный форум CyberForum.ru

Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? - C++

Восстановить пароль Регистрация
 
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
21.10.2010, 03:25     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #1
Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом,
т.е. к строке добавлялись недостающие символы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 03:25     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы?
Посмотрите здесь:

Подскажите как сделать покупку билетов чтобы добавлялись в разные залы C++
C++ Определить является ли строка палиндромом и удалить заглавные символы
По данной строке, определите, является ли она палиндромом C++
Дана строка символов. Является ли заданная она палиндромом C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.10.2010, 16:21     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #2
Spirited, самое простое - создавать копию строки, переворачивать и прицеплять к строке. Как это сделать - поищите, совсем недавно было...
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
21.10.2010, 16:40  [ТС]     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #3
т.е. вы предлагаете прикреплять перевернутую строку слева, а если справа дописывать недостающие сиволы? Например,
на вход: abcdefed
на выходе: abcdefedсba
Как тогда быть?
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
21.10.2010, 18:32     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #4
Spirited, считываете справа палиндром максимальной длинны, остальную часть до начала зеркалите и добавляете справа.
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
19.11.2010, 17:58     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #5
Подскажите, пожалуйста, как сделать так, чтобы входная строка преобразовывалась в палиндром минимальной длины за счёт вставки недостающих символов в любое место в строке.
То есть, например, чтобы строка v67v преобразовалась в палиндром v676v или v767v.
Мне хотя бы саму идею как это сделать.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
19.11.2010, 22:02     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #6
Хм... Тут, наверное, надо сравнивать символы первый с последним, второй с предпоследним и т.д. Затем, как только совпадения кончатся, вставить в строку (например, справа) перед последней проверкой тот символ, который оказался слева, но которого не оказалось справа, а затем проверять дальше.
Скажем, в такой строке 134521 будет такая последовательность (жирным выделено то, что вставляется)
134521
1345231
13452431
134525431

Получим палиндром 134525431 (хотя за основу я брал 123454321, удалив из него некоторые цифры, полученный палиндром остался такой же длины)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2010, 17:08     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы?
Еще ссылки по теме:

Как сделать, чтобы при указании переменой Z делалась то действие? C++
Если число - не палиндром, перевернуть и сложить с изначальным. Повторять, пока оно не станет палиндромом C++
С клавиатуры вводится исходная строка. Если в строке имеются цифры, то она является зашифрованной C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
20.11.2010, 17:08     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? #7
Да, действительно работает.
Большое спасибо!
Yandex
Объявления
20.11.2010, 17:08     Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы?
Ответ Создать тему
Опции темы

Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru