Проверить является ли слово палиндромом

Задача

Определить, является ли строка палиндромом.

Палиндром – это число, слово или фраза, одинаково читающиеся в обоих направления.

Решение

s – строка;
f – флаг.

Алгоритм решения задачи:

  1. Брать очередной символ с начала строки и сравнивать его с противоположным.
  1. Если символы не равны, то выдать сообщение "не палиндром", изменить значение флага и остановить сравнение.
  • Если значение флага не было изменено, то выдать сообщение "палиндром".
  • Программа на языке Паскаль:

    Усложненный вариант задачи: составьте программу, позволяющую определить, будет ли введенная строка палиндромом после удаления из нее всех пробелов.

    Проверить, является ли текст палиндромом, игнорировать знаки пунктуации, пробелы и регистр букв. Например, А роза упала на лапу Азора — это палиндром.

    Как сделать так называемую "проверку дальше" , то есть, если что-то не так, то 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.

    Читайте также  Почему долго грузит вконтакте
    Ссылка на основную публикацию
    Adblock
    detector