Форум: "Начинающим";
Текущий архив: 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