Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.03.23;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
15-1380924488
xayam
2013-10-05 02:08
2014.03.23
Помогите распознать мелодию


2-1370371622
oliksin
2013-06-04 22:47
2014.03.23
записи и файлы!


15-1380832202
Юрий
2013-10-04 00:30
2014.03.23
С днем рождения ! 4 октября 2013 пятница


2-1369985084
Owl
2013-05-31 11:24
2014.03.23
работа с TStringStream


2-1371311691
novai
2013-06-15 19:54
2014.03.23
Вызов метода родителя