Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 20.12.2009, 19:06   #1 (permalink)
WWWaNNN
Member
 
Регистрация: 20.12.2009
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Помогите решить задачу

я никак не могу сообразить как решить задачу.надо написать слово и добавить к нему минимальное кол-во букв чтобы получился палиндром(слово,которое читается и справа налево и слева направо одинаково). я тут немного набросал:

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
i,b,k,n:integer;
a:array[1..100] of char;
buf:array[1..100] of char;
begin
k:=0;
s:=edit1.Text;
n:=length(s);
if n>3 then
begin
for i:=1 to n do
a[i]:=s[i];
for i:=1 to (n div 2) do
begin
if a[i]<>a[n-k] then
begin
for b:=1 to n do
buf[b]:=a[b+i-1];
a[i]:=a[n-k];
for b:=1 to n do
a[b+i]:=buf[b];
k:=k+1; n:=n+1
end else k:=k+1;
end;
end;
edit1.Text:='';
for i:=0 to n*2 do
edit1.Text:=edit1.Text+a[i];
end;
посмотрите и хотя бы скажите правильно я начал и если нет скажите хоть способ решения
WWWaNNN вне форума   Ответить с цитированием

Старый 20.12.2009, 19:06
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Информация содержащаяся в схожих темах безусловно вам будет полезна

Помогите решить задачу
Помогите решить задачу)

Старый 20.12.2009, 19:21   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Вы сначала должны убедиться, не является ли введенное слово палиндромом, а уж потом начинать дописывать буквы.
И еще, почему вы исключаете слова из 3-х букв, они же тоже могут быть палиндромами, к примеру, слово "кок".
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 20.12.2009, 21:00   #3 (permalink)
WWWaNNN
Member
 
Регистрация: 20.12.2009
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile

ну...слово должно быть больше 3-х символов по условию задачи(задача с олимпиады) и слово проверить легко палиндром это или нет.Меня интересует именно способ образования палиндрома из обычного слова
WWWaNNN вне форума   Ответить с цитированием
Старый 20.12.2009, 21:08   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от WWWaNNN Посмотреть сообщение
ну...слово должно быть больше 3-х символов по условию задачи(задача с олимпиады) и слово проверить легко палиндром это или нет.Меня интересует именно способ образования палиндрома из обычного слова
Это-то не трудно, а вот как проверить полученный палиндром на осмысленность? Или это не требуется?
Vladimir_S вне форума   Ответить с цитированием
Старый 20.12.2009, 21:44   #5 (permalink)
WWWaNNN
Member
 
Регистрация: 20.12.2009
Сообщений: 35
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

всмысле осмысленность,если слово существующее,то нет,осмысленность здесь значения не играет,просто надо из строки символов сделать палиндром,строку символов,которая ситается и справа налево и слева направо одинакого
WWWaNNN вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:13.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.