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

цифры в слове ( задача про палиндром )

25.11.2019, 12:48. Показов 2668. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно сделать так чтобы при попытке пользователя ввести что то типа 22222 или п2о2п или 22привет или привет22 ему выводилось сообщение о том чтобы он ввёл корректное слово без цифр, сделать это нужно используя функцию isdigit, сам пытался разобраться в этой функции но не понимаю почему не выходит, по готовому примеру будет легче понять.
C++ (Qt)
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
#include <iostream>
#include <string>
#include <cctype>   // isdigit
#include <cstdlib>  // atoi itoa
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "");
    string str, tmp;
    cout << "Введите строку: ";
    cin >> str;
    tmp = str;
    for (int i = 0; i < 1; i++)
    {
 
            reverse(str.begin(), str.end());
            if (str == tmp)
            {
                cout << "Является палиндромом";
            }
            else
            { 
                cout << "Не является палиндромом";
            }
 
 
    }
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2019, 12:48
Ответы с готовыми решениями:

Задача про палиндром!
Добрый День! У меня проблема с задачей про палиндром, нужно ввести любую цифру(n&gt;0) и найти все палиндромы меньше данной цифры, включая...

про палиндром
Составить программу, которая определяет, является ли заданное натуральное число палиндромом. Числа палиндромы совпадают при написании как...

про палиндром
моя задача: Является ли заданная строка палиндромом? Если нет - указать &quot;не те&quot; символы. мой код ...

7
Модератор
 Аватар для long399
2882 / 1837 / 933
Регистрация: 16.10.2013
Сообщений: 5,241
Записей в блоге: 15
25.11.2019, 12:58
Miditi, вы хотите, чтобы слова, в которых есть цифры не проходили до проверки на палиндром?

Цитата Сообщение от Miditi Посмотреть сообщение
при попытке пользователя ввести что то типа 22222 или п2о2п или 22привет или привет22 ему выводилось сообщение о том чтобы он ввёл корректное слово без цифр
еще раз это перечитайте, вы тут сами себе противоречите.
0
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 10
25.11.2019, 13:09  [ТС]
Да именно чтобы слова в которых присутствуют цифры не проходили до проверки на палиндром)
0
Модератор
 Аватар для long399
2882 / 1837 / 933
Регистрация: 16.10.2013
Сообщений: 5,241
Записей в блоге: 15
25.11.2019, 13:18
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
#include <iostream>
#include <string>
#include <cctype>   // isdigit
#include <cstdlib>  // atoi itoa
#include <algorithm>
using namespace std;
 
int isDigitContain(string s){
    for(int i = 0; i < s.length(); i++){
        if(isdigit(s[i])) return 1;
    }
    return 0;
} 
 
int main()
{
    setlocale(LC_ALL, "");
    string str, tmp;http:
    cout << "Введите строку: ";
    cin >> str;
    if(isDigitContain(str)){
        cout << "string contains numbers" << endl;
        exit(0);
    }
    tmp = str;
    for (int i = 0; i < 1; i++)
    {
            reverse(str.begin(), str.end());
            if (str == tmp)
            {
                cout << "Является палиндромом";
            }
            else
            { 
                cout << "Не является палиндромом";
            }
 
 
    }
    return 0;
}
1
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 10
25.11.2019, 13:25  [ТС]
long399, Благодарю, сейчас буду разбираться как это работает.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.11.2019, 14:09
long399, так ТС повтор ввода нужен

Цитата Сообщение от Miditi Посмотреть сообщение
cout << "Введите строку: ";
Цитата Сообщение от Miditi Посмотреть сообщение
цифры в слове
так что вводится строка или слово ? применение reverse подходит или всё же задача заключается в том, чтобы написать свою функцию реверса ?
напишите оригинал условия задачи
0
0 / 0 / 0
Регистрация: 19.09.2019
Сообщений: 10
25.11.2019, 14:22  [ТС]
Цитата Сообщение от Yetty Посмотреть сообщение
так что вводится строка или слово ? применение reverse подходит или всё же задача заключается в том, чтобы написать свою функцию реверса ?
напишите оригинал условия задачи
Задача - пользователь вводит слово и ему должно вывести является ли оно полиндромом(Задача была написать что то своё без функции реверса и юзать не string а char но это слишком сложно для меня, поэтому я просто нашёл чей то код и скопировал его ( действовать нужно было быстро т.к. это была домашка про которую я успешно забыл и поэтому скопировал первое более менее понятное ) и учительница заметила шо я просто скопировал чей то код и сказала чтобы я ещё к этому дописал чтобы при попытке ввести слово с цифрами пользователю выводилось типа "Неправильно набрано слово" ну ещё некст лвл это сделать так чтобы пользователю дали снова ввести слово но это уже супер сложно наверное.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.11.2019, 14:50
Лучший ответ Сообщение было отмечено Miditi как решение

Решение

Miditi, пока Вы сами не разберётесь, как проверяется слово на палиндром и не напишите программу толку от того что Вы что-то скопировали будет мало (разве что узнали что есть функция reverse).
смотрите как это делается: в цикле последовательно сравниваем символы слова - первый с последним, второй с предпоследним и так далее... как только найдено несовпадение, проверять дальше смысла нет выходим из цикла по break и выводим сообщение что слово не палиндром
C++
1
2
3
4
5
int k=0;
for(size_t i=0; i<n/2; i++)    // здесь n - размер строки
        if(s[i]!=s[n-1-i]) {k=1;cout << "NO PALINDROME\n";break;}
        
    if(k==0) cout << "PALINDROME\n";
Цитата Сообщение от Miditi Посмотреть сообщение
юзать не string а char
это не принципиально, char это С-стиль, string в С++
Цитата Сообщение от Miditi Посмотреть сообщение
пользователю дали снова ввести слово
это повтор ввода. общий принцип
C++
1
2
3
4
5
6
do
{
    cout << "a="; cin >> a;
    if ( ... ) cout << "Repeat please...\n";
}
while ( ... );
вместо точек пишите условие, в данном случае условием является результат работы функции isDigitContain
то есть так: if (isDigitContain(str)).

строка в функции не меняется, лучше передавать так: int isDigitContain(string const&s)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2019, 14:50
Помогаю со студенческими работами здесь

Вывести все четные цифры, содержащиеся в слове наибольшей длины, и вывести число повторений каждой этой цифры
Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Элементами слов могут быть любые графические символы....

Если число не палиндром, реверсировать его цифры (комментарии)
Дано натуральное число n. Если это не палиндром, реверсирование его цифры и сложите исходное число с числом, полученным в результате...

Дописать к числу цифры так, чтобы получилось число – палиндром
6. Дано целое трёхзначное число. Дописать к нему цифры так, чтобы получилось число – палиндром (например, исходное число 567, новое число...

Задача палиндром
Анна написала генератор красивых строк. Она считает строку красивой, если она одинаково читается как слева направо, так и справа налево....

Задача. Наименьший палиндром
Доброго времени суток! Помогите пожалуйста в коде перевести char to int, и наоборот. Мне нужно целое число увеличть на 1, но у меня...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru