Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/41: Рейтинг темы: голосов - 41, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 15.09.2011
Сообщений: 14
1

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

15.09.2011, 15:18. Показов 8238. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане! Помогите пожалуйста решить в С++.
Дано натуральное число п (д<9999). Является ли это число палиндромом (перевертышем) с учетом четырех цифр, как, например, числа 2222, 6116, 0440 и т. д.?


Мои попытки не увенчались успехом - программа работает не правильно.


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream.h>
#include<conio.h>
#include<math.h>
int main()
{int n,a,a1,b,b1,c,d;
cout<< " Vvedite n<=9999 \n";
cin>>n;
a=n/1000;
a1=a%1000;
b=a1/100;
b1=b%100;
c=b1/10;
d=c%10;
if (a==b&&c==d)
cout<<"Polindrom \n";
else
cout<<"It is not polindrom!";
getch();
return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2011, 15:18
Ответы с готовыми решениями:

Является ли число палиндромом?
var a,b,i,q,l:integer; begin readln(a); l:=a;b:=0; while a&gt;0 do begin q:=a mod 10;...

Определить является ли число палиндромом?
Вводится случайное число(кол-во цифр не указано).Определить является ли оно палиндромом например...

Выяснить, является ли число палиндромом
такой вопрос, как можно данный код сделать проще, только не надо сильно заумного, я просто тока...

Определить, является ли число палиндромом
#include&lt;stdio.h&gt; main() { int n,a,a1,b,b1,c,c1; printf(&quot;vvedite chislo n&lt;=999\n&quot;); ...

13
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 15:27 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int Sym(long a)
{
   long x = a, y = 0;
   while (a)
   {
      y = y*10 + a%10;
      a /= 10;
   }
   return x == y;
} 
 
 
int main()
{
   cout << (Sym(121) ? "yes" : "no");
   return 0;
}
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
15.09.2011, 15:34 3
может проще перевести число в строку, затем строку перевернуть и сравнить , если строки одинаковы то число полиндром
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 15:36 4
Цитата Сообщение от Чистый Посмотреть сообщение
может проще перевести число в строку, затем строку перевернуть и сравнить , если строки одинаковы то число полиндром
А еще лучше (если в строку переводим) бежать с двух сторон пока i<j и s[i]==s[j], так эффективнее.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
15.09.2011, 15:38 5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
    
int is_p4(int num){
    return ( num / 100 == ( num % 100 ) / 10 + ( num % 10 ) * 10 );
}
 
int main(void){
    int n;
    
    while ( printf("Numbero: ") && scanf("%d", &n) == 1 && n > 0 && n < 10000 )
        printf("%s\n", is_p4(n) ? "Aga" : "Nein");
    
    return 0;
}
0
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
15.09.2011, 16:11 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <sstream>
 
int main()
{
    int number;
 
    std::cout << "Enter number: ";
    std::cin >> number;
 
    std::ostringstream ostr;
    std::string number_str;
 
    std::istringstream(ostr.str()) >> number_str;
 
    std::cout << "Number is " << (number_str == std::string(number_str.rbegin(), number_str.rend()) ? "" : "not ") << "palindrome" << std::endl;
 
    return 0;
}
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
15.09.2011, 16:23 7
Цитата Сообщение от VanDro Посмотреть сообщение
Является ли это число палиндромом (перевертышем) с учетом четырех цифр, как, например, числа 2222, 6116, 0440 и т. д.?
Я тут вот, о чём подумал... С учётом вышепроцитированного
Цитата Сообщение от Thinker Посмотреть сообщение
Sym(121)
должно бы "no" говорить, не?
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 19:32 8
Цитата Сообщение от easybudda Посмотреть сообщение
С учётом вышепроцитированного
должно бы "no" говорить, не?
Нет, это палиндром в чистом виде, поэтому "yes"
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
15.09.2011, 19:36 9
Thinker, ну не знаю. Четырёхзначное число по идее - 0121, нифига не палиндром... Будем ждать, что ТС скажет...
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 19:40 10
Цитата Сообщение от easybudda Посмотреть сообщение
Thinker, ну не знаю. Четырёхзначное число по идее - 0121, нифига не палиндром... Будем ждать, что ТС скажет...
А зачем его как 4-значное представлять, просто задание состоит в рассмотрении 4-значных палиндромов, а число 121 - 3-значное, оно просто иллюстрирует то, что алгоритм работает с числами немного большего диапазона.

Хотя пример 0440 смущает...
0
186 / 61 / 4
Регистрация: 29.04.2011
Сообщений: 641
15.09.2011, 19:41 11
Народ извените, вопрос не по теме, но все же тут это звучало

как преобразовать int или float в char
и наоборот
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2011, 19:42 12
Цитата Сообщение от ЛеЖиК) Посмотреть сообщение
Народ извените, вопрос не по теме, но все же тут это звучало

как преобразовать int или float в char
и наоборот
наверное, вы имели ввиду в массив символов. Тогда
sprintf(). Это в Си. А наоборот:
atoi(), atol(), atof()
1
186 / 61 / 4
Регистрация: 29.04.2011
Сообщений: 641
15.09.2011, 19:54 13
спасибо
0
0 / 0 / 0
Регистрация: 15.09.2011
Сообщений: 14
15.09.2011, 21:32  [ТС] 14
Спасибо огромное всем кто ответил! Теперь розоберу, немного переведу на тот уровень, на котором учимся в универе и ... вуаля! Еще раз спасибо, выручили.
0
15.09.2011, 21:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2011, 21:32
Помогаю со студенческими работами здесь

Функция, определяющая, является ли число палиндромом
Написать функцию, возвращающую True, если целый параметр K (&gt; 0) является палиндромом (то есть его...

Определить, что число является палиндромом
Проверить истинность высказывания: &quot;Данное четырехзначное число читается одинаково слева направо и...

Определить, является ли введенное число палиндромом
Задача: определить, является ли введенное число палиндромом. Подскажите алгоритм, что-то я никак не...

Определить, является ли заданное число палиндромом
:wall: совсем не понимаю принцип решения... :-[:(


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru