Задача: Написать программу, которая определяет, является ли введенное слово палиндромом ("перевертышем"), например: "шалаш", "арозаупаланалапуазора", и выводит на экран ответ "да" или "нет".
Входные данные откуда брать?
НА ПРИМЕРЕ В ЭТОЙ ЗАДАЧИ
program z1;uses crt;const st1='ма'; st2='ма';var str:string;i,k:integer;begin write('введите строку: ');readln(str); for i:=1 to length(str) do if (st1=copy(str,i,2)) or (st2=copy(str,i,2)) then k:=k+1; writeln(k);end.
Program aaa; var s,s1:string; i:longint; begin writeln('введите строку'); read(s); for i:=1 to length(s) do s1:=s[i]+s1; if s=s1 then writeln('да') else writeln('нет') end.
спасибо)
Немного другое решение var s : string; i, j, n : integer; f : boolean; begin readln(s); n := length(s); i := 1; j := n; f := false; while (i <= j) do </span> begin if(s[i] = s[j]) then f := true else f := false; i := i + 1; j := j - 1; if not f then break; end; if f then write('Палиндром') else write('Не палиндром'); end.
раз выше решение не верно, можно контрпример)
Или хотя бы почему оно не верно
Нет, прости, пожалуйста, верно, я просто не сразу вдумался в твой код. У тебя отличное решение в самом деле, мне стыдно стало )
со всеми бывает)