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

Определить, является ли данное пятизначное число палиндромом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
HelloWorld56
5 / 5 / 1
Регистрация: 29.03.2012
Сообщений: 62
29.03.2012, 18:15     Определить, является ли данное пятизначное число палиндромом #1
Программа должна определять, является ли данное пятизначное число палиндромом. Палиндром-число или текст, который читается одинаково как слева так и справа:939; 49094; 11311.

Как определить является число палиндромом или нет?

Код можно не писать, объясните "на словах".
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
29.03.2012, 18:20     Определить, является ли данное пятизначное число палиндромом #2
Первое и последнее, второе и предпоследнее и т.д. числа должны равняться.
HelloWorld56
5 / 5 / 1
Регистрация: 29.03.2012
Сообщений: 62
29.03.2012, 18:24  [ТС]     Определить, является ли данное пятизначное число палиндромом #3
А как эти цифры сравнить? Это же не отдельные числа. Они все в одном числе ведь
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
29.03.2012, 18:25     Определить, является ли данное пятизначное число палиндромом #4
HelloWorld56, можно и в стоку забить.
was3110
 Аватар для was3110
1 / 1 / 0
Регистрация: 29.03.2012
Сообщений: 12
29.03.2012, 18:26     Определить, является ли данное пятизначное число палиндромом #5
мне кажется легче преобразовать число в массив символов.
Индексы от 0 до n=length
И потом в цикле проверять
Код
for(i=0;i<n/2;i++)
if(ch[i]!=ch[n-i]) return false;
return true;
alex120
Так говорил Заратустра...
 Аватар для alex120
62 / 47 / 3
Регистрация: 19.01.2012
Сообщений: 162
29.03.2012, 18:29     Определить, является ли данное пятизначное число палиндромом #6
Можно использовать комбинации % вместе с /

C++
1
2
if (i%10 != i/10%10 && i%10 != i/100%10 && i/10%10 != i/100%10)
...
Сравнивает, есть ли одинаковые цифры в трёхзначном числе.
Вот в таком духе что-то...
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
29.03.2012, 18:33     Определить, является ли данное пятизначное число палиндромом #7
Цитата Сообщение от was3110 Посмотреть сообщение
мне кажется легче преобразовать число в массив символов.
а можно не мучать себя преобразованиями и сразу считывать «число» в строковую переменную
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
29.03.2012, 18:35     Определить, является ли данное пятизначное число палиндромом #8
C++
1
2
3
4
5
6
7
8
9
10
    c = a;
 
    while (a)
    {
        b *= 10;
        b += a%10;
        a/=10;
    }
 
    std:: cout << (c==b ? "YES" : "NO") << "\n";
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.03.2012, 18:35     Определить, является ли данное пятизначное число палиндромом #9
C++
1
2
#include <iostream>
int main(){int n;std::cin>>n;std::cout<<(((n/1000)+(n%100)/10+(n%10)*10)%1001)?"":"not")<<"palindrom\n";return 0;}
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
29.03.2012, 18:36     Определить, является ли данное пятизначное число палиндромом #10
Цитата Сообщение от HelloWorld56 Посмотреть сообщение
А как эти цифры сравнить? Это же не отдельные числа. Они все в одном числе ведь
Ну есть разные алгоритмы разбиения. В условие оговорено в каком формате вводиться данные будут?
Если int то объясню на простом примере:
Есть число 234. Чтобы выделить 4 нужно взять остаток от деления числа 234 на 10 (234%10).Чтобы получить 3 нужно взять остаток от деления числа 234 на 100 и разделить нацело его на 10(234%100/10). Чтобы получить 2 нужно 234 поделить нацело на 100(234/100).
Если же можно string'ом вогнать то тогда проще. У тебя сразу массив из чисел, как сказал Dani


Опять опоздал!!
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
29.03.2012, 18:38     Определить, является ли данное пятизначное число палиндромом #11
Kuzia domovenok, и думаете оно работает? 1231 - palindorom?
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.03.2012, 19:06     Определить, является ли данное пятизначное число палиндромом #12
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
C++
1
2
#include <iostream>
int main(){int n;std::cin>>n;std::cout<<(((n/1000)+(n%100)/10+(n%10)*10)%1001)?"":"not")<<"palindrom\n";return 0;}
Эх! бред написал
C++
1
2
#include <iostream> 
int main(){int n;std::cin>>n;std::cout<<((n/1000-n%100/10-n%10*10)?"not":"")<<"palindrom\n";return 0;}
Вот так работает!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2012, 22:29     Определить, является ли данное пятизначное число палиндромом
Еще ссылки по теме:

Определить, является ли данное число N простым C++
C++ Ввести пятизначное число и определить, является ли оно палиндромом
C++ Составить программу, выясняющую, является ли данное число палиндромом

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

Или воспользуйтесь поиском по форуму:
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
29.03.2012, 22:29     Определить, является ли данное пятизначное число палиндромом #13
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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>
 
int main()
{
    int a; //Исходное число
    cin >> a; //Вводим его с клавиатуры
    int temp = a; //Объявляем временную переменную со значением исходного числа
 
    int b = 0; //Число перевернутое
 
    while (temp != 0)
    {
          b = b * 10 + temp % 10; //Переворачиваем число по цифрам
          temp /= 10; //Отбрасываем последнюю цифру
    }
 
    if (a == b)
          std::cout << "ГЏГ*ëèГ*äðîì!";
    else
          std::cout << "Fail :(";
    
    return 0;
}
Yandex
Объявления
29.03.2012, 22:29     Определить, является ли данное пятизначное число палиндромом
Ответ Создать тему
Опции темы

Текущее время: 13:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru