Vserosbuybuy

Untitled

Dec 3rd, 2020
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cmath>
  4. using namespace std;
  5. int mas[600][600];
  6. int main()
  7. {
  8.     vector<string >v;
  9.     int n;
  10.     cin >> n;
  11.     for (int i = 0; i < n; ++i) {
  12.         string k;
  13.         cin >> k;
  14.         v.push_back(k);
  15.     }
  16.     vector<string>p;
  17.     for (auto& i : v) {
  18.         string otv = "";
  19.         for (int j = 0; j < i.length(); j++) {
  20.             if (i[j] == 'o') {
  21.                 string k = "";
  22.                 otv += 'o';
  23.                 j++;
  24.                 // нужна проверка на то, что j не вышел за границы
  25.                 while (i[j] == 'o') {
  26.                     k += 'o';
  27.                     j++;
  28.                 }
  29.                 if (k.size() >= 1) {
  30.                     otv += 'u';
  31.                     for (int l = 1; l < k.size(); ++l) {
  32.                         otv += 'o';
  33.                     }
  34.                 }
  35.                 k = "";
  36.                 otv += i[j];
  37.             }
  38.             // эта и следующая замена должны происходить только если речь идет о начале слова
  39.             else if (i[j] == 'e') {
  40.                 otv += "ae";
  41.             }
  42.             else if (i[j] == 'E') {
  43.                 otv += "Ae";
  44.             }
  45.             // аналогично предыдущему случаю с о
  46.             else if (i[j] == 'O') {
  47.                 string k = "";
  48.                 otv += 'O';
  49.                 j++;
  50.                 while (i[j] == 'o') {
  51.                     k += 'o';
  52.                     j++;
  53.                 }
  54.                 if (k.size() >= 1) {
  55.                     otv += 'u';
  56.                     for (int l = 1; l < k.size(); ++l) {
  57.                         otv += 'o';
  58.                     }
  59.                 }
  60.                 // забыл otv += i[j];
  61.                 k = "";
  62.             }
  63.             else if (i[j] == 's') {
  64.                 // проверка на выход за пределы
  65.                 if (i[j + 1] == 'h' || j == 0) {
  66.                     otv += 's';
  67.                 }
  68.                 else {
  69.                     otv += "th";
  70.                 }
  71.             }
  72.             // почему маленькая буква?
  73.             else if (i[j] == 'S') {
  74.                 otv += 's';
  75.             }
  76.             else {
  77.                 otv += i[j];
  78.             }
  79.         }
  80.         p.push_back(otv);
  81.         otv = "";
  82.     }
  83.     for (int i = 0; i < n; ++i) {
  84.         cout << p[i] << "\n";
  85.     }
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment