Advertisement
Alex_Fomin

Untitled

Dec 3rd, 2015
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.30 KB | None | 0 0
  1. uses
  2.   crt;
  3.  
  4. const
  5.   FileName = 'input.txt';
  6.   abc = ['a'..'z', 'A'..'Z', 'а'..'я', 'А'..'Я'];
  7.  
  8. var
  9.   fdata: text;
  10.   st, temp: string;
  11.   count: integer;
  12.  
  13. function Palindrome(st: string): boolean;
  14. begin
  15.   Result := False;
  16.   for var i := 1 to Length(st) div 2 do
  17.     if st[i] = st[length(st) - i + 1] then Result := True
  18.     else
  19.     begin
  20.       Result := False;
  21.       break;
  22.     end;
  23. end;
  24.  
  25. begin
  26.   if FileExists(FileName) then
  27.   begin
  28.     Assign(FData, FileName);
  29.     Reset(FData);
  30.     Count := 0;
  31.     while not Eof(FData) do
  32.     begin
  33.       Readln(FData, St);
  34.       St += #9;
  35.       for var i := 1 to Length(St) do
  36.       begin
  37.         if St[i] in ABC then Temp += St[i]
  38.         else
  39.         begin
  40.           if Palindrome(Temp) and (Length(Temp) > 1) then
  41.           begin
  42.             Count += 1;
  43.             TextColor(Green);
  44.             Write(Temp);
  45.             TextColor(LightGray);
  46.           end
  47.           else Write(Temp);
  48.           Temp := '';
  49.           Write(St[i]);
  50.         end; // end in ABC
  51.       end; // end for i
  52.       Writeln;
  53.     end; // end while eof(fdata)
  54.     Close(FData);
  55.     Writeln('Кол-во слов-палиндромов: ' + Count);
  56.   end // end FileExists
  57.   else Writeln('Ошибка: Файл ' + FileName + ' не найден...:(');
  58. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement