Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define pb push_back
  4. #define F first
  5. #define S second
  6. #define ll long long
  7. #define ull unsigned long long
  8. #define ld long double
  9. #define pii pair<int, int>
  10. //#define int ll
  11.  
  12. using namespace std;
  13.  
  14. const int N = 3e2 + 10;
  15. const int M = -1e5;
  16. const int eps = 0.00001;
  17.  
  18. int32_t main()
  19. {
  20. ios_base::sync_with_stdio(0);
  21. cin.tie(0);
  22. cout.tie(0);
  23. srand(0);
  24. setlocale(LC_ALL, "Russian");
  25. #ifdef LACOL
  26. freopen("input.txt","r",stdin);
  27. freopen("output.txt","w",stdout);
  28. #else
  29. //freopen("input.txt","r",stdin);
  30. //freopen("output.txt","w",stdout);
  31. #endif // LACOL
  32.  
  33. string a = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
  34. string abig = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; //создаем строку алфавита
  35. //считываем данную строку
  36. string x;
  37. string s = "";
  38. while (cin >> x){
  39. s += x;
  40. s += " ";
  41. }
  42. for (int i = 0; i < 34; ++i){ //перебираем сдвиг
  43. string p = ""; //создаем новую строку
  44. for (int j = 0; j < s.size(); ++j){ //перебираем символы данной строки
  45. //если текущий символ - пробел, добавляем его в новую строку
  46. if (s[j] == ' ') {
  47. p += ' ';
  48. continue;
  49. }
  50. else{
  51. //ищем позицию текущего символа в алфавите
  52. int n;
  53. for (n = 0; n < a.size(); ++n){
  54. if (s[j] == a[n]) break;
  55. }
  56. //если в алфавите строчных букв нет текущего символа, ищем его в алфавите больших букв
  57. if (n == 66){
  58. for (n = 0; n < abig.size(); ++n){
  59. if (s[j] == abig[n]) break;
  60. }
  61. }
  62. cerr << s[j] << " " << n << endl;
  63. p += a[n + i]; //в строку добавляем текущий символ сдвинутый на i в алфавите
  64. }
  65. }
  66. cout << p << endl << endl; // вывод получившейся строки
  67. }
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement