Задача
Определить, является ли строка палиндромом.
Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.
Решение
s – строка;
f – флаг.
Алгоритм решения задачи:
- Брать очередной символ с начала строки и сравнивать его с противоположным.
- Если символы не равны, то выдать сообщение "не палиндром", изменить значение флага и остановить сравнение.
Программа на языке Паскаль:
Усложненный вариант задачи: составьте программу, позволяющую определить, будет ли введенная строка палиндромом после удаления из нее всех пробелов.
Проверить, является ли текст палиндромом, игнорировать знаки пунктуации, пробелы и регистр букв. Например, А роза упала на лапу Азора — это палиндром.
Как сделать так называемую "проверку дальше" , то есть, если что-то не так, то break , в противном случае "проверяем дальше" .
Мне не нужно решение всей задачи, а только можете эту часть объяснить.
б) вывести число натуральных чисел-палиндромов
от а до b. (а, b не
превышают 10000).
- Попроси больше объяснений
- Следить
- Отметить нарушение
Asya2803 14.08.2013
Что ты хочешь узнать?
Ответ
1)
var s:string;
i:integer;
f:boolean;
begin
f:=false;
write (‘S = ‘);
readln(s);
for i:=1 to length(s) div 2 do
if s[i]=s[length(s)-i+1] then f:=true else
begin
f:=false;
break;
end;
if f then writeln (‘PALINDROM’) else writeln (‘NOT PALINDROM’);
readln;
end.
2)
var a,b:integer;
count,j:integer;
function palindr (n:integer):boolean;
var s:string;
i:integer;
begin
palindr:=false;
str (n,s);
for i:=1 to length(s) div 2 do
if s[i]=s[length(s)-i+1] then palindr:=true else
begin
palindr:=false;
break;
end;
end;
begin
write (‘A = ‘);
readln(a);
write (‘B = ‘);
readln(b);
count:=0;
for j:=a to b do
if palindr(j) then
begin
write (j,’ ‘);
count:=count+1;
end;
writeln;
writeln (‘Kol-vo palindromov: ‘,count);
readln;
end.