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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
#1

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

21.10.2010, 03:25. Просмотров 690. Ответов 6
Метки нет (Все метки)

Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом,
т.е. к строке добавлялись недостающие символы?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2010, 03:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как зделать чтобы входная строка, если она не палиндром, делалась палиндромом, т.е. к строке добавлялись недостающие символы? (C++):

Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н - C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо...

С клавиатуры вводится исходная строка. Если в строке имеются цифры, то она является зашифрованной - C++
С клавиатуры вводится исходная строка. Если в строке имеются цифры, то она является зашифрованной. Если исходная строка не содержит...

Есть программа, выводящая недостающие цифры, введенные с клавиатуры, дополнить ее чтобы она также выводила, недостающие латинские буквы - Pascal ABC
Есть программа, выводящая недостающие цифры, введенные с клавиатуры, дополнить ее чтобы она также выводила, недостающие латинские...

Как сделать, чтобы картинки автоматически добавлялись, если увеличивается текст - HTML, CSS
Как можно сделать, чтобы картинки автоматически добавлялись, если увеличивается текст. Щас поясню с примером: Вот тут по середине,...

Дана строка символов. Является ли заданная она палиндромом - C++
Пожалуйста,Помогите разобраться с ректорской к.р.! Вот есть задание: Дана строка символов. Создать функцию, чтобы проверить,...

Если число - не палиндром, перевернуть и сложить с изначальным. Повторять, пока оно не станет палиндромом - C++
Задача: С клавиатуры вводится целое число. Если палиндром - то так и написать. Если нет, то нужно его перевернуть и сложить с изначальным....

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

Получим палиндром 134525431 (хотя за основу я брал 123454321, удалив из него некоторые цифры, полученный палиндром остался такой же длины)
1
AI-99
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 19
20.11.2010, 17:08 #7
Да, действительно работает.
Большое спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2010, 17:08
Привет! Вот еще темы с ответами:

Дана строка символов до точки. Определить, является ли она палиндромом - C (СИ)
Дана строка символов до точки. Определить, является ли она палиндромом. (Палиндром слева направо и справа налево читается одинаково,...

По данной строке, определите, является ли она палиндромом - C++
По данной строке, определите, является ли она палиндромом. В принципе задача мне понятна, только с кодом проблемы. #include<iostream> ...

Строка: Сколько букв останется на своих местах в данной строке, если ее символы записать в обратном порядке - VBA
Как написать программу по данному условию?? "Сколько букв останется на своих местах в данной строке, если ее символы записать в...

Определить является ли строка палиндромом и удалить заглавные символы - C++
#include <iostream> #include <stdio.h> #include <string.h> #include <ctype.h> using namespace std; int main() { char*...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.11.2010, 17:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru