Проверка симметричности строки

177
16 марта 2019, 12:40

Нужно как то проверить симметричность строки относительно центра.. Вернее: здесь идет проверка строки.. если можно убрать один символ, что бы строка была симметрична, то он выводит "YES" иначе "NO" Код есть, но есть проблема со вводом (разрабы задания нахимичили).. У них вводится лишний символ, в первых 2 тестах.. Который мне очень сильно мешает.. Этот символ - "enter".. Можно ли как то убрать его из кода, или ограничить входные данные, что бы этого энтера не было? (тестов около 100, и на 3 тесте он выдет ошибку, елси я убираю последний символ, то есть делаю так: length = text.length()-1;)

#include <iostream>
#include <string>
using namespace std;
int main() {
    string text;
    getline(cin, text);
    int length, res = 0;
    length = text.length();
   // cout << length << endl;
    int i = 0, y = length-1;
    while (i<=y){
       // cout << text[i] << " " << text[y] << endl;
        if (text[i] != text[y] && res <2){
            res++;
        } if (res > 1) break;
        i++;
        y--;
        //cout << i << " " << y << endl;
    }
    if (res == 1){
        cout << "YES";
    } else  cout << "NO";
    return 0;
}
Answer 1
string text;
getline(cin, text); 
size_t m = text.length()/2;
string s1(text.rbegin(), text.rbegin() + m);
cout <<((text.substr(0, m) == s1) ? "yes" : "no");

Весь ваш код...

READ ALSO
Не работает контекстное меню

Не работает контекстное меню

У меня есть в форме listWidgetВ конструкторе окна я привязываю customContextMenuRequested к моей функции ShowContextMenu:

140
Сильно ли string ресурсозатратнее char[]?

Сильно ли string ресурсозатратнее char[]?

В интернете пишут только отличия string от char[], но не пишут, отличаются ли они по затратам и как сильноСоответственно, вопрос: сильно ли string затратнее...

165
Проскакивает работа программы в if else

Проскакивает работа программы в if else

Нужно определить направление ветра в заданной местности и по заданной датеПроблема в том, что 5 пункт (определение ветра) не выводит нужную...

197
Нужно вывести на экран массив [закрыт]

Нужно вывести на экран массив [закрыт]

Мне нужно вывести на экран массив и символ, который встречается больше всего в нём

171