Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C] Палиндром


Автор: webplunder 11.6.2009, 19:53
Помогите написать программу. 
Вводится число от 1 до 9 знаков и программа определяет является ли оно палиндромом. В программе недолжны использоваться массивы

Автор: andrew_121 11.6.2009, 19:57
webplunder, Помогу. Показывай что сделал.

Автор: webplunder 11.6.2009, 20:14
нашел программу которая делает это с 5 цифрами. но нада ее переделать от 1 до 9 или 10 (ну я так понял использовать unsigned long)

Код

#include <stdio.h>
 
int main(void) {
   int a, b, c, d, e, x, y;
   printf("Введите пятизначное число для определения палиндром оно или нет: ");
   scanf("%d", &x);
 
   a = x % 10000;
   b = x % 1000;
   c = x % 100;
   d = x % 10;
   e = x - a;
   a -= b;
   b -= c;
   c -= d;
 
   y = d * 10000 + c * 100 + b * 1 + a / 100 + e / 10000;
 
   if(x == y)
      printf("Введённое вами число является палиндромом!\n");
   else
      printf("Введённое вами число не палиндром!\n");
   return 0;
}

Автор: webplunder 11.6.2009, 22:18
Нуу помогите мне. Причем предыдуший код не подходит он только для 5 значных а надо не только 10 а от 1 до 10значных
Вобщем надеюсь кто то поможет до завтра до 8 утра. На 8 завтра экзамен.

Автор: taiven 12.6.2009, 01:21
Код

#include <stdio.h>

int main()
{
    unsigned long long x = 323, y = 0;
    unsigned long long temp = x;

    y += temp % 10;
    temp /= 10;

    while(temp)
    {
        y *= 10;
        y += temp % 10;
        temp /= 10;
    }
    
    if(x == y) puts("YES\n");
    else puts("NO\n");

    return 0;
}

Автор: webplunder 12.6.2009, 16:14
всем спасибо экзамин здал тему можно закрывать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)