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

симметричное число - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
KIBERasya
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 9
24.01.2011, 13:53     симметричное число #1
пытаюсь определить, является ли 4-х значное число палиндромом. что я здесь не так делаю?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    int a;
    cin>>a;
    int rev = 0;
    rev += rev*10 + a%10;
    
    cout<<(a==rev ? "yes" : "no");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.01.2011, 13:55     симметричное число #2
Цитата Сообщение от KIBERasya Посмотреть сообщение
rev*10
=0. Ты только что обнулил rev.
KIBERasya
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 9
24.01.2011, 13:56  [ТС]     симметричное число #3
а может так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
    int a;
    cin>>a;
    int rev = 0;
    rev += a%10;
    a /=10;
    cout<<(a==rev ? "1" : "37");
    return 0;
}
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.01.2011, 14:03     симметричное число #4
a=1221. На строке № 9 rev =1, а надо 12. На строке 10 a=122, а надо 12.
a=1223. На строке № 9 rev =3, а надо 32. На строке 10 a=122, а надо 12.

Добавлено через 4 минуты
То есть тебе нужны двузначные числа. a/100 и (a%100), причём, в одном из них перед сравнением надо переставить знаки местами. То есть rev=(a%10)*10+(a/10)%10.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
24.01.2011, 14:08     симметричное число #5
Цитата Сообщение от KIBERasya Посмотреть сообщение
а может так?
ага, только это нужно в цикле делать
C++
1
2
3
4
5
6
7
...
int a, b, c;
cin >> a;
for ( b = a, c = 0; b; b /= 10 )
  c += c * 10 + b % 10;
cout << "Is " << ( c == a ? "" : "NOT " ) << "a palindrom" << endl;
...
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
24.01.2011, 14:14     симметричное число #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
 
using namespace std;
 
int main()
{
    int n, a, b, c, d;
    cin >> n;
        a = n / 1000;
        b = (n / 100) % 10;
        c = (n / 10) % 10;
        d = (n % 10);
       if (a == d && b == c)
        cout << "YES";
        else
        cout <<"NO";
        return 0;
}
Yandex
Объявления
24.01.2011, 14:14     симметричное число
Ответ Создать тему
Опции темы

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