Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <cmath>
- using namespace std;
- int mas[600][600];
- int main()
- {
- vector<string >v;
- int n;
- cin >> n;
- for (int i = 0; i < n; ++i) {
- string k;
- cin >> k;
- v.push_back(k);
- }
- vector<string>p;
- for (auto& i : v) {
- string otv = "";
- for (int j = 0; j < i.length(); j++) {
- if (i[j] == 'o') {
- string k = "";
- otv += 'o';
- j++;
- // нужна проверка на то, что j не вышел за границы
- while (i[j] == 'o') {
- k += 'o';
- j++;
- }
- if (k.size() >= 1) {
- otv += 'u';
- for (int l = 1; l < k.size(); ++l) {
- otv += 'o';
- }
- }
- k = "";
- otv += i[j];
- }
- // эта и следующая замена должны происходить только если речь идет о начале слова
- else if (i[j] == 'e') {
- otv += "ae";
- }
- else if (i[j] == 'E') {
- otv += "Ae";
- }
- // аналогично предыдущему случаю с о
- else if (i[j] == 'O') {
- string k = "";
- otv += 'O';
- j++;
- while (i[j] == 'o') {
- k += 'o';
- j++;
- }
- if (k.size() >= 1) {
- otv += 'u';
- for (int l = 1; l < k.size(); ++l) {
- otv += 'o';
- }
- }
- // забыл otv += i[j];
- k = "";
- }
- else if (i[j] == 's') {
- // проверка на выход за пределы
- if (i[j + 1] == 'h' || j == 0) {
- otv += 's';
- }
- else {
- otv += "th";
- }
- }
- // почему маленькая буква?
- else if (i[j] == 'S') {
- otv += 's';
- }
- else {
- otv += i[j];
- }
- }
- p.push_back(otv);
- otv = "";
- }
- for (int i = 0; i < n; ++i) {
- cout << p[i] << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment