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

Перевертыш

03.03.2011, 21:02. Показов 10125. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу, которая определит, является ли заданное слово перевертышем (например, "кок",
"шалаш" являются).

Вот программа:

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
#include <iostream>
#include <string> 
#include <locale>
 using namespace std;
 
 int main()
{
setlocale(LC_ALL,"rus"); 
 
 
void reversit(char []);
 
const int MAX = 80; 
char str [MAX]; 
cout << "\nВведите слово: "; 
cin.get(str,MAX);
reversit(str);
cout <<"Перевернутое слово: "; 
cout <<str <<endl;
 
return 0;
}
 
void reversit(char s [])
{
int len = strlen(s); 
for(int j = 0;j <len/2;j++) 
{
char temp = s [j]; 
s [j] = s [len-j-1]; 
s [len-j-1] = temp;
}
}
 Комментарий модератора 
Используйте теги форматирования кода!


Она переворачивает введенное слово,а как сделать чтоб она еще и выводила сообщение если слово является перевертышем (является) а если нет (не является)? Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2011, 21:02
Ответы с готовыми решениями:

Функция перевёртыш
Напишите функцию, которая принимает целое значение и возвращает число с обратным порядком чисел. Например ввели: 123, на выходе будет 321...

Найти в строке слово-перевертыш максимальной длины
Дана строка в виде предложения. Найти в ней слово-перевертыш максимальной длинны. Словом будем считать набор символов, отделенных с двух...

Не работает программма "перевертыш"
Всем доброго времени суток. Пока только учусь программированию на с++ и решил написать программу в которую вводиш например...

15
15 / 15 / 1
Регистрация: 21.12.2010
Сообщений: 55
03.03.2011, 21:15
Если перевернутое слово == слову - является, в инном случае - не является!
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
03.03.2011, 21:23
Цитата Сообщение от timchuchok Посмотреть сообщение
Если перевернутое слово == слову - является, в инном случае - не является!
Например, можно так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
int main()
    {
    std::string word;
 
    std::cout << "Enter a word" << std::endl;
    std::cin >> word;
 
    std::string reversed(word);
    std::reverse(reversed.begin(),reversed.end());
    if(word == reversed)
        std::cout << "Yep!" << std::endl;
    else
        std::cout << "Nah." << std::endl;
    }
0
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
03.03.2011, 21:25  [ТС]
А как это выразить в функции и подставить в программу?
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
03.03.2011, 21:26
Ma3a, Если уж на то пошло
C++
1
2
3
4
bool pol(const std::string &a)
{
    return std::equal(a.begin(), a.end(), a.rbegin());
}
1
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
03.03.2011, 21:45  [ТС]
а можно более доступно как нибудь сделать,просто препод обьяснял как на примере который показан выше, если принесу с другое решение то капец
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
03.03.2011, 21:50
Если на вашем примере, то достаточно запомнить исходную и перевернутую строку, ну и потом что-то в стиле
C++
1
2
3
4
if(strcmp(str,str_reversed) == 0)
    std::cout << "Is palindrome.";
else
    std::cout << "Not a palindrome.";
Ну или же свою функцию написать, чтобы лишний раз не копировать строку. Получится что-то вроде

C++
1
2
3
4
5
6
7
bool isPalindrome(char (&str)[MAX])
    {
    for(int length = strlen(str), i = 0; i < length / 2; ++i)
        if(str[i] != str[length - i - 1])
            return false;
    return true;
    }
0
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
03.03.2011, 21:58  [ТС]
компилятор ругается : ( error C2065: 'str_reversed' : undeclared identifier) необъявленный идентификатор говорит
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
03.03.2011, 22:09
Естественно необъявленный, я же просто набросок сделал
Попробуйте ту функцию, что я написал, думаю, что к вашему примеру это подойдет.
0
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
03.03.2011, 22:09  [ТС]
во втором случае ( error C2065: 'MAX' : undeclared identifier)необъявленный идентификатор говорит, хотя MAX же обявлен
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
03.03.2011, 22:11
C++
1
const int MAX = 80;
Вынесите описание за функцию main.
0
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
03.03.2011, 22:24  [ТС]
чет у меня нечего не получается
0
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
03.03.2011, 22:39
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 <string>
 
const int MAX = 80; 
 
bool isPalindrome(char (&str)[MAX])
    {
    for(int length = strlen(str), i = 0; i < length / 2; ++i)
        if(str[i] != str[length - i - 1])
            return false;
    return true;
    }
 
int main()
    {
    char word[MAX];
 
    std::cout << "Enter a word" << std::endl;
    gets(word);
    std::cout << isPalindrome(word) << std::endl;
    }
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
04.03.2011, 03:50
(&str)[MAX] - что это за извращение?

C
1
2
3
4
5
6
7
8
9
10
int IsPolindrom(char *str)
{
   size_t i, j, length;
 
   length = strlen(str);
   for (i = 0, j = length-1; i < j; i++, j--)
      if (str[i] != str[j])
         return 0;
   return 1;
}
0
1 / 1 / 0
Регистрация: 05.02.2011
Сообщений: 42
04.03.2011, 08:22  [ТС]
Еще больше запутали!
0
2 / 2 / 0
Регистрация: 12.12.2011
Сообщений: 128
05.01.2012, 10:34
Подскажете что за бида. Вел верхний код, вожу слово а оно не чо не переворачивает. Что нужно изменить? Что добавить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2012, 10:34
Помогаю со студенческими работами здесь

Перевёртыш
Как отобразить слово из А1 наоборот

перевертыш
вывести цифры числа в обратном порядке. пример: 12345 вывод: 54321

Перевертыш
Напишите программу для считывания отрывка из текста, перевода его на язык перевёртыш и печати переведённого варианта.На язык первёртыш...

Палиндром (перевёртыш)
Написать функцию, определяющую, является ли введенная пользователем строка - ПОЛИНДРОМОМ (перевертышем)

Число перевертыш
проверить является ли введенное число перевертышем, В основании программы запрограммировать число и в зависимости от результата функций...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru