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

Полиндром или нет?

30.04.2013, 13:22. Показов 991. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
#include <cstdio>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    bool otvet;
    int i;
    int b, c;
    char str1[11];                
    char str2[11];
        for (i=0; i<=10; i++)
    {
        str1[i]=' ';
        str2[i]=' ';
    }
    cout << "Введите число до 10(включая) символов" << '\n';
    gets (str1);
    b=10;
    c=0;
    for (i=0; i<=10; i++)
    {
        if (str1[b]==' ')
        {
            goto d1;
        }
        else
        {
            str2[c]=str1[b];
            c++;
        }
        d1:
        b--;
    }
    for (i=0; i<=10; i++)
        cout<<str2[i];
    otvet = strcmp(str1, str2);
    if (otvet=1)
        cout << '\n' <<"Число не полиндром";
    else
        cout << '\n' << "Число полиндром";
    system("pause>>void");
}
Написал код, программа считывает число в строку, делает реверс её в другую и сравнивает и выдает ответ полиндром или нет.
Но тут не задача, не могу понять почему при реверсе строки первым символом выступает пробел, и из-за этого не работает программа.
т.е.
ВВожу число:
12345 //ввел нажал энет
54321 //выводит первым символом пробел, что за ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2013, 13:22
Ответы с готовыми решениями:

Можно ли по названию платы,или по чипу,или по соккету,определить,поддерживает плата ХР или нет?
Добрый день всем.Уважаемые знатоки,я заранее прошу у Вас прощенья,если заданный мной вопрос,тупой или глупый. Но поверьте,я уже замучился...

полиндром
boolean polindrom(char*s1){ char* str2=new char; int a=0; for(int i=0 ; i&lt;strlen(s1) ;i++) for(int j=0; j&lt;strlen(s1) ;...

Полиндром
Написать программу, определяющую будет ли данное 5 -ти значное число полиндром (пример: 1234 - 4321) #include &lt;iostream.h&gt; ...

3
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
30.04.2013, 13:49
вы сами наступили на грабли при использовании оператора goto переделайте алгоритм так, чтоб его не было в программе и всё станет на свои места.

Добавлено через 7 минут
вот как выглядит нормальный ввод числа в программе
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string>
#include <vector>
#include <iostream>
#include <sstream>
...
using namespace std;
int getInt(string &in)
{
    int res;
    stringstream er;
    getline(cin, in);
    er << in;
    er >> res;
    return res;
}
... видите пробелов от пользователя мы не получим

Добавлено через 9 минут
C++
1
2
3
4
5
for (i=0; i<=10; i++)
    {
        str1[i]=' ';
        str2[i]=' ';
    }
такие конструкции должны наталкивать вас на мысль, что вы пишите не оптимально
0
12 / 12 / 4
Регистрация: 19.08.2012
Сообщений: 51
30.04.2013, 13:50
Проверку на символ конца строки добавьте в 24 строку
C++
1
 if  (str1[b]=='\0')
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
30.04.2013, 15:32
GoooD, возьми лучше этот код
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
#include <iostream>
using namespace std;
 
bool isPalindrom (int num);
 
int main()
{
    int num;
    char choise= 0;
    bool bWork = true;
    while( bWork )
    {
        cout<<"Enter num : ";
        cin>>num;cin.get();
        //Åñëè ââåëè îòðèöàòåëüíîå óìíîæäàåì íà -1 è ðàññìàòðèâàåì ìîäóëü
        if( num < 0)
            num *=-1;
        if(isPalindrom(num))
            cout<<"Number is palindrom"<<endl;
        else
            cout<<"Number is not palindrom"<<endl;
        cout<<"Enter Y for new input";
        cout<<"Your choise : ";
        cin>>choise;cin.get();
        if(toupper(choise) != 'Y')
            bWork = false;
    }
    return 0;
}
 
 
bool isPalindrom(int num)
{
    int array[8];
    int iDigit  = 0;
    int nDigits = 0;
    bool bPalindrom = num >0;
    for(nDigits = 0; bPalindrom && num; nDigits++)
    {
        array[nDigits] = num % 10;
        num = num / 10;
    }
    for(iDigit  = 0; iDigit < nDigits / 2 && bPalindrom; iDigit++)
        bPalindrom = (array[iDigit] == array[nDigits - 1 - iDigit]);
    return bPalindrom;
}
Миниатюры
Полиндром или нет?  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2013, 15:32
Помогаю со студенческими работами здесь

задача полиндром
составить программу палиндром с использованием функции

Определить полиндром
Задали задание: задана строка из N символов. Определить, содержит ли ета строка полиндромы из К (К&lt;N) символов. помогите решить...

Задача Пирамида и Полиндром
Как решить? 1 задача. Из кубиков построена пирамида. Кубики поставлены ровно друг на друга. B самом верхнем ярусе кубик только один, и...

Строки, текст полиндром
а как такую тему сделать? Дана строка символов, содержащая некоторый текст. Разработать программу, которая определяет, является ли данный...

Полиндром и симметричное число
Народ, недавно занялся паскалем, появился такой вопрос. Надо написать две программы, но увы не получается. Если кто может - помогите. 1....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru