Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 47
1

Определить, является ли строка словом-перевертышем

02.11.2020, 15:56. Показов 2642. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проверить, является ли введённое слово словом-перевёртышем, то есть, читается ли оно одинаково справа и слева.
Пример: казак – перевёртыш, собака – не перевёртыш
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2020, 15:56
Ответы с готовыми решениями:

Дек: задать слово; определить, является ли оно словом-перевертышем
Ребят, нужна помощь. Вот задание: В деке задать слово. Определить, является ли оно...

В деке задать слово. Определить, является ли оно словом-перевертышем
задание через библиотеку стдио В деке задать слово. Определить, является ли оно...

Бинарный поиск: определить, является ли данная строка символов зарезервированным словом
Добрый день! Помогите написать программу , а то не могу разобраться с этими бинарными заданиями.(...

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

7
319 / 216 / 114
Регистрация: 14.05.2020
Сообщений: 890
02.11.2020, 16:24 2
SahsaTry, позже скину ещё вариант из ДП
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <string>
using namespace std;
 
int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    string str, tmp; 
    cout << "Input text"; cin >> str;
    tmp = str;
    for(size_t i = 0; i < tmp.size() / 2; ++i)
    {
        char a = tmp[i];
        tmp[i] = tmp[tmp.size() - i - 1];
        tmp[tmp.size() - i - 1] = a;
    }
    
    str == tmp ? cout << "Yes" << endl : cout << "No" << endl;
 
    cin.get();
    return EXIT_SUCCESS;
}
Добавлено через 19 минут
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <vector>
#include <string>
using  namespace std;
 
string foo(string str)
{
    size_t size = str.size();
    size_t len = 0, max_len = 1;
    vector<vector<bool>>table(size, vector<bool>(size, false));
    for(size_t i = 0; i < size; ++i) table[i][i] = true;
    for(size_t i = 0; i < size - 1; ++i)
    {
        if(str[i] == str[i + 1]) 
        {
            table[i][i + 1] = true;
            max_len = 2;
            len = i;
        }
    }
    
    for(size_t k = 3; k <= size; ++k)
    {
        for(size_t i = 0; i < size - k + 1; ++i)
        {
            size_t j = i + k - 1;
            if(table[i + 1][j - 1] and str[i] == str[j])
            {
                table[i][j] = true;
                if(k > max_len)
                {
                    max_len = k;
                    len = i;
                }
            }
        }
    }
    string tmp;
    for(size_t i = len; i < max_len; ++i)
    {
        tmp += str[i];
    }
    cout << tmp << endl;
    return tmp;
}
 
 
int main(void)
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    string str; cin >> str;
    string tmp = foo(str);
    str.size() == tmp.size() ? cout << "Yes" << endl : cout << "No" << endl;
 
    cin.get();
    return EXIT_SUCCESS;
}
1
2528 / 1247 / 461
Регистрация: 08.11.2016
Сообщений: 3,428
02.11.2020, 16:43 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
int main()
{
    std::string s;
    std::cin >> s;
 
    bool isPalindrome = true;
    for (size_t i = 0; i < s.size() / 2; ++i)
    {
        if (s[i] != s[s.size() - 1 - i])
        {
            isPalindrome = false;
            break;
        }
    }
 
    std::cout << (isPalindrome ? "YES" : "NO") << std::endl;
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 47
02.11.2020, 17:00  [ТС] 4
Можно узнать что значит эта фраза - isPalindrome

Добавлено через 2 минуты
и можно пожалуйста как то так код написать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>   
#include <iostream> 
#include <locale.h> 
using namespace std;
void dellx(string *s){
string s1=*s; 
while (s1.find("x")<s1.length()){
    s1.erase(s1.find("x"), 1); 
  }
  *s=s1; 
}
int main() {
  setlocale(LC_ALL, "Rus"); 
  string st;
  cout<<"Введите слово "; cin>>st;
  dellx(&st);
  cout<<st;
return 0;
}
0
2528 / 1247 / 461
Регистрация: 08.11.2016
Сообщений: 3,428
02.11.2020, 17:26 5
SahsaTry, палиндром - строка которая читается одинаково как слева направо, так и справа налево.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#inclide <iostream>
#inclide <string>
 
bool isPalindrome(const std::string &s)
{
    for (size_t i = 0; i < s.size() / 2; ++i)
    {
        if (s[i] != s[s.size() - 1 - i])
            return false;
    }
    return true;
}
 
int main()
{
    std::string s;
    std::cin >> s;
    std::cout << (isPalindrome(s) ? "YES" : "NO") << std::endl;
    return 0;
}
1
823 / 626 / 321
Регистрация: 24.02.2017
Сообщений: 2,209
02.11.2020, 19:33 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <algorithm>
using namespace std;
 
int main() {
 string a,b;
 
 getline(cin,a);
 b=a;
 reverse(b.begin(),b.end());
 a==b ? cout<<"yes" :cout<<"no";
 return 0;
}
1
Just Do It!
3841 / 2286 / 636
Регистрация: 23.09.2014
Сообщений: 7,071
Записей в блоге: 3
02.11.2020, 20:45 7
вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main()
{   
    std::string a;
 
    while(true)
    {   getline(std::cin,a);
        std::cout << (a == std::string(a.rbegin(), a.rend()) ? "yes\n" : "no\n");
    }
}
1
Timurs
02.11.2020, 21:02     Определить, является ли строка словом-перевертышем
  #8

Не по теме:

У повар1 красивее как-то смотрится :D

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2020, 21:02

Определить не является ли одно слово обращением (перевертышем) другого
1.Заданы два слова. Определить, не является ли одно обращением (перевертышем) другого.

Определить, является ли заданное слово словом-перевертышем (шалаш — слово-перевертыш).
Пожалуйста, помогите решить задачи 1.Один из наиболее эффективных способов вычисления квадратного...

Определить, является ли строка словом или цифрой
Помогите пожалуйста. Необходимо проверить наличие в строке каких-либо иных символов кроме цифр, то...

Строки. Определить длину строки, содержится ли в ней слово «мир», является ли строка перевертышем
Вводится произвольная строка символов. Определить 1)количество символов данной строки;...

Является ли строка перевёртышем
Сначала перевернуть строку. Затем определить является ли она перевертышем

Является ли строка перевертышем
Составьте программу, проверяющую является ли заданная строка “перевертышем” (т.е. читается ли слева...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru