Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться с программой. Строки.   Найти похожие ветки 

 
oliksin   (2013-06-04 22:57) [0]

Дана строка символов, содержащая некоторый текст. Разработать программу, которая определяет, является ли данный текст палиндромом, т.е. читается ли он слева направо так же, как и справа налево ( например, «А роза упала на лапу Азора»)

как сделать так, чтобы пробелы не читались? если строка без пробелов, программа определяет палиндром или нет, а если с пробелами, не определяет..

procedure TForm1.Button1Click(Sender: TObject);
function IsPalindrome(const s : string) : boolean;
var
 i,j: integer;
 b:boolean;
begin
 Edit1.Text:=s;
 for j:=1 to Length(s) do
 if s[j]=" " then
 while S[j]=" " do Delete(S,j,1);
 i := 1;
 j := length(s);
 result := false;
 repeat
   if s[i] <> s[j] then
     exit;
   inc(i);
   dec(j);
 until i > j;
 result := true;

end;
   begin
 if IsPalindrome(Edit1.Text) then
   ShowMessage("Строка является палиндромом")
 else
   ShowMessage("Строка палиндромом не является");
   end;
end.


 
O'ShinW ©   (2013-06-04 23:04) [1]

StringReplace и ReverseString  или ReverseStr из модуля StrUtils не спасут ОРД?


 
brother ©   (2013-06-04 23:19) [2]

эх, молодежь! и что я сегодня такой добрый? :)

function IsPalindrome(const s : string) : boolean;
var
 s2: string;
 i: integer;
 len: integer;
begin
 s2:= StringReplace(s, " ", "", [rfReplaceAll]);
 len:= Length(s2);

 for i:= 1 to len div 2 do
   if s2[i] <> s2[len-i+1] then
   begin
     result:= false;
     exit;
   end;

 result:= true;    
end;


 
brother ©   (2013-06-04 23:20) [3]

хоть идею зацени чтоль ;)


 
oliksin   (2013-06-04 23:50) [4]

Спасибо! всё работает теперь=)


 
O'ShinW ©   (2013-06-05 00:12) [5]

uses StrUtils;
function IsPalindrom(s:string): Boolean;
begin
  s := StringReplace(AnsiUpperCase(s)," ","",[rfReplaceAll]);
  Result := s = ReverseString(s);
end;


 
brother ©   (2013-06-05 06:08) [6]

> AnsiUpperCase(s),

это ему нужно было для дз оставить :)


> ReverseString(s);

не споритвно?)


 
Anatoly Podgoretsky ©   (2013-06-05 08:41) [7]


> это ему нужно было для дз оставить :)

Это еще месяц скулежа


 
brother ©   (2013-06-05 08:47) [8]

ну, может хоть алгоритм осознает...


 
"Добрый Сок"   (2013-06-05 15:52) [9]


> AnsiUpperCase(s),
> это ему нужно было для дз оставить :)

сколько раз уже накалывался..
на автомате вышло :)


> не споритвно?)

зато дешево и практично (с) :)


 
Юрий Зотов ©   (2013-06-05 18:52) [10]

> brother ©   (04.06.13 23:19) [2]

В программе есть логическая ошибка. Поэтому она не всегда будет правильно работать.
:o)


 
Юрий Зотов ©   (2013-06-05 18:54) [11]

> O"ShinW ©   (05.06.13 00:12) [5]

То же самое - есть ошибка.
:o)


 
O'ShinW ©   (2013-06-05 19:10) [12]

{., и тп} - ?


 
Германн ©   (2013-06-05 19:21) [13]

Пустая строка это тоже палиндром, но вырожденный :)


 
brother ©   (2013-06-06 08:40) [14]

какая, кроме [13]?


 
"Добрый Сок"   (2013-06-06 09:29) [15]

А, роза, - упала на лапу Азора!


 
Inovet ©   (2013-06-06 09:40) [16]

> [15] "Добрый Сок"   (06.06.13 09:29)
> А, роза, - упала на лапу Азора!

http://www.youtube.com/watch?v=XsuNCQLLVqs
Ещё есть какой-то известный, забыл.


 
"Добрый Сок"   (2013-06-06 09:48) [17]


> Inovet ©   (06.06.13 09:40) [16]

звука на работе нет :)
Что там?


 
Inovet ©   (2013-06-06 09:53) [18]

> [17] "Добрый Сок"   (06.06.13 09:48)

Мальвина учит Буратино писать.


 
"Добрый Сок"   (2013-06-06 10:08) [19]


> Inovet ©   (06.06.13 09:53) [18]

а..
а я к тому, что знаки препинания сломают алгоритм


 
Inovet ©   (2013-06-06 10:22) [20]

> [19] "Добрый Сок"   (06.06.13 10:08)

Так выкинуть их все.


 
"Добрый Сок"   (2013-06-06 10:25) [21]

ну, да.
Вот я и гадаю, ЮЗ, когда про ошибку сказал,  это имел ввиду или еще что-то.
Если это - то предвидел :) просто было лень стало писать



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.002 c
1-1323258416
Kamilos
2011-12-07 15:46
2014.03.23
Как сделать чтобы Image изменялся вместе с формой?


2-1370690219
oliksin
2013-06-08 15:16
2014.03.23
Как вывести сумму строк из мемо?


15-1380876002
брат Птибурдукова
2013-10-04 12:40
2014.03.23
Вопрос по ассоциациям файлов, etc


2-1370624079
stas
2013-06-07 20:54
2014.03.23
Форматирование текста командой format


15-1381091402
Юрий
2013-10-07 00:30
2014.03.23
С днем рождения ! 7 октября 2013 понедельник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский