Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
schoolboy_
1 / 1 / 0
Регистрация: 02.03.2013
Сообщений: 59
#1

Палиндром - C++

02.03.2013, 15:09. Просмотров 570. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Пытаюсь написать программу которая проверяет является ли введёное число с клавиатуры палиндромом. Метод проверки тривиален - схема Горнера.
Программа работает не с самим числом, а с его копией. И вроде бы работает даже правильно(если смотреть в отладчике), но вот беда, не хочет накапливать числа после обработки их методом Горнера в одной переменной.
Точнее, если смотреть как это реализовано в коде, она и не должна.
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
int main()
{
    int n, copyn, c;
    cin>>n;
    copyn = n;
    int m = 0;
 
    
    do
    {
    c = copyn % 10;
    m = (0 * 10) + c;
    copyn /=10;
    }
    while(copyn );
    {
      if(n==m)
        cout<<"Number is Palindrom"<<'\n';
      else
          cout<<"Number is not palindrome"<<'\n';
    }
 
    
    system("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 15:09     Палиндром
Посмотрите здесь:

Палиндром - C++
Дайте реализацию программы, определяющей является ли входная строка палиндромом, пожалуйста. Заранее спасибо.

Палиндром в С++ - C++
Нужно составить программу которая определяет, является ли строчка палиндромом или нет. Написал такую программу, несколько раз проводил...

Палиндром... - C++
Палиндром ведь это слова одинаково читающееся в обоих направениях. Помогите разобрать метод?! string palindrome(string word){ ...

Палиндром. - C++
Все доброго времени суток. Проблема следующая. Сделал задачу, реализовал палиндром по средствам С++. Преподаватель решил придраться и...

Палиндром - C++
Здравствуйте! Наткнулся на такую задачу. Дана строка и нужно посчитать сколько палиндрома можно из нее сделать. Например: ввод: ababc ...

палиндром - C++
имеется 3 класса 1. проверяет является ли строка char* палиндромом 2. проверяет является ли vector&lt;int&gt; палиндромом 3. проверяет...

Палиндром - C++
Программа находит палиндромы в файле, но не совсем правильно, а именно: проверяет на условие палиндрома только первое слово. Что нужно...

Палиндром с++ - C++
Помогите, пожалуйста, написать программу: Найдите самый большой палиндром, образованный в произведение двух трехзначных чисел.

Число-палиндром - C++
Задача: Назовем, натуральное число палиндромом, если его запись читается одинаково с начала и с конца ( например 4554, 676, 5 ) 1....

Строка-палиндром - C++
Подскажите пожайлуйста, как определить является ли строка палиндромом(можно использовать стандартные строковые подпрограммы) и как...

Найти палиндром - C++
Здравствуйте! Можете помочь найти палиндром, нашел много примеров но ни один не подходит, и я не понимаю как оно вообще делается. Пример 1,...

Составить палиндром - C++
Дан набор слов, из которых можно составить палиндром(используя все слова). Нужно вывести этот палиндром Помогите


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.03.2013, 14:27     Палиндром #2
Цитата Сообщение от schoolboy_ Посмотреть сообщение
(0 * 10) // 13 строка
Что это? О_о
anmartex
...
1701 / 1194 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
07.03.2013, 20:28     Палиндром #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
Что это? О_о
Наверное должно было быть вот так:
C++
1
    m = (m * 10) + c;
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.03.2013, 21:08     Палиндром #4
Цитата Сообщение от anmartex Посмотреть сообщение
Наверное должно было быть вот так:
C++
1
    m = (m * 10) + c;
Это я, как ни странно, понял. Хотел, чтобы ТС сам нашёл ошибку.
Catstail
Модератор
22440 / 10845 / 1765
Регистрация: 12.02.2012
Сообщений: 17,958
07.03.2013, 21:13     Палиндром #5
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
#include "iostream.h"
 
int isPal(int n, int k)
{
    if (n < 10) return 1;
    if (k == 0)
    {
        k=1;
        while (k < n)
        {
            k=k*10;
        }
        k=k/10;
    }
    if ((n / k) == (n % 10))
        return isPal((n % k)/10, k / 100);
    else
        return 0;
}
 
int main(int argc, char* argv[])
{
 
    int n=121;
 
    cout << isPal(n,0) << endl;
 
    return 0;
}
Yandex
Объявления
07.03.2013, 21:13     Палиндром
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru