0 / 0 / 0
Регистрация: 13.04.2020
Сообщений: 10
1

Проверить, является ли введенная строка палиндромом без учета пробелов

28.04.2020, 19:14. Показов 4297. Ответов 2
Метки c++ (Все метки)

Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте, является ли она палиндромом без учета пробелов (например, "аргентина манит негра").

Входные данные
На вход подается 1 строка длины не более 100, содержащая пробелы. Подряд может идти произвольное число пробелов.

Выходные данные
Необходимо вывести yes, если данная строка является палиндромом, и no в противном случае.

Примеры
входные данные
ab a
выходные данные
yes


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main()
{
    const int startSize = 100;
    char str[startSize];
    cin.getline(str, '.');
    char str_1[startSize];
    int j = 0;
    for (int i = 0; i < startSize; i++)
        {
            if (str[i] == ' ') continue;
    if (str[i] == '.')
        {
            str_1[j] = '\0';
    break;
    }
    str_1[j] = str[i];
    j++;
    }
    const int resSize = strlen(str_1);
    char * str_2 = new char[resSize + 1];
    for (int i = 0; i < resSize; i++)
        {
            str_2[i] = str_1[resSize - 1 - i];
    }
    str_2[resSize] = '\0';
    if (!strcmp(str_1, str_2)) cout << "yes";
    else cout << "no";
    return 0;
    }
валится на 22 тесте
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2020, 19:14
Ответы с готовыми решениями:

Проверить, является ли введенная строка палиндромом
Написать программу, которая проверяет, является ли введенная строка палиндро- мом &quot;А роза упала...

Проверить является ли введенная строка палиндромом
Объясните как это работает , желательно с комментариями возле кода #include&quot;stdio.h&quot; ...

Проверить, является ли строка, введённая с клавиатуры, палиндромом
ЗАдание следующее: Написать программу, которая проверяет, является ли строка, введённая с...

Проверить, является ли строка палиндромом. С рекурсией и без рекурсии
В один код вместе написать с рекурсией и без рекурсии. Проверить строку на палиндрома? Это без...

2
130 / 87 / 48
Регистрация: 27.12.2019
Сообщений: 510
28.04.2020, 20:11 2
nedochelovek, так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
 
int main()
{
    string str,temp; getline(cin,str);
    str.erase(remove(str.begin(),str.end(),' '),str.end());
    
    
    temp=str;
    
    reverse(str.begin(),str.end());
    if(temp==str){cout<<"ok"<<endl;}
    else {cout<<"no"<<endl;}
    
    
    return 0;
}
0
Вездепух
Эксперт CЭксперт С++
10263 / 5560 / 1523
Регистрация: 18.10.2014
Сообщений: 13,578
28.04.2020, 20:25 3
Цитата Сообщение от nedochelovek Посмотреть сообщение
Дана строка, состоящая из строчных латинских букв и пробелов.
C++
1
2
3
4
cin.getline(str, '.');
...
  if (str[i] == '.')
...
В условии задачи нет ни слова про символ '.'. Откуда в вашем коде вдруг взялась специальная обработка для символа '.'?

Цитата Сообщение от nedochelovek Посмотреть сообщение
C++
1
2
3
4
for (int i = 0; i < startSize; i++)
{
  if (str[i] == ' ') continue;
  ...
Если во входной строке не встретится символа '.', то этот цикл просмотрит все элементы массива str, включая мусор за пределами введенной строки. Весь этот мусор будет добавлен в строку str_1 и пойдет на дальнейшую обработку. Неудивительно, что получается ерунда.

Цитата Сообщение от nedochelovek Посмотреть сообщение
C++
1
const int resSize = strlen(str_1);
Зачем заново вычислять длину строки str_1, если она у вас и так известна в переменной j?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2020, 20:25
Помогаю со студенческими работами здесь

Определить, является ли введённая с клавиатуры строка палиндромом
Определить, является ли введённая с клавиатуры строка палиндромом - выполнить тремя способами:...

Проверить, является ли строка палиндромом без учета пробелов
Дана строка, состоящая из строчных латинских букв и пробелов. Проверьте, является ли она...

Проверка, является ли строка палиндромом (без учета пробелов)
Только начал работать со строками, помогите, пожалуйста Дана строка, состоящая из строчных...

Cтрока: Проверить, является ли введенная с клавиатуры строка палиндромом?
Проверить является ли введенная с клавиатуры строка палиндромом(т.е. слева на право и справа на...

Проверить, является ли строка палиндромом после удаления из нее всех пробелов
Вводятся произвольная строка.Проверить является ли она перевертышем(палиндромом) после удаления из...

Написать программу, определяющую является ли данная строка палиндромом (без учета регистра)
Задание: 1.Написать программу, определяющую является ли данная строка палиндромом (без учета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru