Advertisement
Guest User

2

a guest
May 31st, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.13 KB | None | 0 0
  1. program String65;
  2.  
  3. var
  4.   S: String;
  5.   i, i2, K: integer;
  6.   C: char;
  7.   f: text;
  8.  
  9. begin
  10.   if (not FileExists('input.txt')) then
  11.   begin
  12.     writeln('input.txt не найден!');
  13.     Exit;
  14.   end;
  15.  
  16.   Assign(f, 'input.txt');
  17.   Reset(f);
  18.  
  19.   Readln(f, S);
  20.   Readln(f, C);
  21.  
  22.   writeln('S: ', S);
  23.   writeln('C: ', C);
  24.    
  25.   case OrdAnsi(C) of
  26.     128..159: K := OrdAnsi(S[1]) - OrdAnsi(C);
  27.     160..175:
  28.       if OrdAnsi(S[1]) in [160..175] then K := OrdAnsi(S[1]) - OrdAnsi(C)
  29.       else K := OrdAnsi(S[1]) - 48 - OrdAnsi(C);
  30.     224..239:
  31.       if OrdAnsi(S[1]) in [224..239] then K := OrdAnsi(S[1]) - OrdAnsi(C)
  32.       else K := OrdAnsi(S[1]) + 48 - OrdAnsi(C);
  33.  
  34.   end;
  35.   if k < 0 then K := 32 + k;
  36.  
  37.   writeln('K: ', K);
  38.  
  39.   for i2 := 1 to K do
  40.   begin
  41.     i := 1;
  42.     while (i <= Length(S)) do
  43.     begin
  44.       case OrdAnsi(S[i]) of
  45.         129..159, 161..173, 225..239: S[i] := ChrAnsi(OrdAnsi(S[i]) - 1);
  46.         128: S[i] := ChrAnsi(159);
  47.         224: S[i] := ChrAnsi(175);
  48.         160: S[i] := ChrAnsi(239);
  49.       end;
  50.       inc(i);
  51.     end;
  52.   end;
  53.  
  54.   Writeln(S);
  55.  
  56.   Close(f);
  57. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement