По разделам

 

Решение задачи String 65


Дано зашифрованное предложение на русском языке(способ шифрования описан в задании String63) и его расшифрованный первый символ C. Найти кодовое смещение K и расшифровать предложение.

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{
    system("chcp 1251");
    string s;
    getline(cin, s);
    int k = 0;
    char c;
    cin >> c;
    while(s[0] != c){
        if(s[0] > char(224) && s[0] <= char(255))
            s[0] = char(int(s[0]) - 1);
        else if(s[0] > char(192) && s[0] <= char(223))
            s[0] = char(int(s[0]) - 1);
        else if(s[0] == char(224))
            s[0] = 'я';
        else if(s[0] == char(192))
            s[0] = 'Я';
        ++k;
    }
    while(k--){
        for(int i = 1; i < s.size(); ++i){
            if(s[i] > char(224) && s[i] <= char(255))
                s[i] = char(int(s[i]) - 1);
            else if(s[i] > char(192) && s[i] <= char(223))
                s[i] = char(int(s[i]) - 1);
            else if(s[i] == char(224))
                s[i] = 'я';
            else if(s[i] == char(192))
                s[i] = 'Я';
        }
    }
    cout << s;
    return 0;
}

Код (Pascal)

program String65;
var
 S:String;
 i,i2,K:integer;
 C:char;
 
begin
  Write('S: ');
  Readln(S);
  Write('C:');
  Readln(C);
  case ord(C) of
   128..159 : K:=ord(S[1])-ord(C);
   160..175 : if ord(S[1]) in [160..175] then K:=ord(S[1])-ord(C)
              else K:=ord(S[1])-48-ord(C);
   224..239 : if ord(S[1]) in [224..239] then K:=ord(S[1])-ord(C)
              else K:=ord(S[1])+48-ord(C);
 
  end;
  Writeln(K);
  if k<0 then K:=32+k;
  Writeln(K);
 
  for i2:=1 to K do
   begin
    i:=1;
    while (i<=Length(S)) do
     begin
      case ord(S[i]) of
       129..159,161..173,225..239:  S[i]:=chr(ord(S[i])-1);
       128: S[i]:=chr(159);
       224: S[i]:=chr(175);
       160: S[i]:=chr(239);
      end;
      inc(i);
    end;
   end;
  Writeln(S);
end.
									




String. Абрамян
String 1 Просмотров: 6207
String 2 Просмотров: 4366
String 3 Просмотров: 2684
String 4 Просмотров: 3718
String 5 Просмотров: 4364
String 6 Просмотров: 4166
String 7 Просмотров: 2891
String 8 Просмотров: 3607
String 9 Просмотров: 2969
String 10 Просмотров: 3157
String 11 Просмотров: 3821
String 12 Просмотров: 3349
String 13 Просмотров: 4015
String 14 Просмотров: 2941
String 15 Просмотров: 3653
String 16 Просмотров: 3597
String 17 Просмотров: 2948
String 18 Просмотров: 2628
String 19 Просмотров: 3607
String 20 Просмотров: 2750
String 21 Просмотров: 2444
String 22 Просмотров: 2619
String 23 Просмотров: 3638
String 24 Просмотров: 2714
String 25 Просмотров: 1984
String 26 Просмотров: 3197
String 27 Просмотров: 2832
String 28 Просмотров: 2989
String 29 Просмотров: 3728
String 30 Просмотров: 2494
String 31 Просмотров: 2907
String 32 Просмотров: 2352
String 33 Просмотров: 2026
String 34 Просмотров: 1984
String 35 Просмотров: 1852
String 36 Просмотров: 1678
String 37 Просмотров: 1430
String 38 Просмотров: 1569
String 39 Просмотров: 1667
String 40 Просмотров: 1939
String 41 Просмотров: 1727
String 42 Просмотров: 3371
String 43 Просмотров: 1651
String 44 Просмотров: 1623
String 45 Просмотров: 2036
String 46 Просмотров: 1358
String 47 Просмотров: 1271
String 48 Просмотров: 1801
String 49 Просмотров: 1531
String 50 Просмотров: 1572
String 51 Просмотров: 1468
String 52 Просмотров: 1430
String 53 Просмотров: 1390
String 54 Просмотров: 1059
String 55 Просмотров: 1201
String 56 Просмотров: 1025
String 57 Просмотров: 1646
String 58 Просмотров: 1743
String 59 Просмотров: 1538
String 60 Просмотров: 1403
String 61 Просмотров: 1199
String 62 Просмотров: 1259
String 63 Просмотров: 1610
String 64 Просмотров: 1475
String 65 Просмотров: 1346
String 66 Просмотров: 1476
String 67 Просмотров: 1145
String 68 Просмотров: 1395
String 69 Просмотров: 1263
String 70 Просмотров: 1972

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет