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

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

Войти
Регистрация
Восстановить пароль
 
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
#1

Проверка палиндромности - C++

14.11.2012, 21:14. Просмотров 1132. Ответов 14
Метки нет (Все метки)

Дано целое число. Определить, является ли десятичная запись этого числа палиндромом (читается одинаково справа налево и слева направо, например 43543).

помогите пожалуйста в написании кода или хотя бы блок-схемы алгоритма для реализации данного задания.
Есть код определения пятизначного числа но он не совсем подходит требуется чтобы программа работала с любым числом а не только с пятизначным. заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 21:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка палиндромности (C++):

Найти уровень палиндромности числа m. - C++
Опять нужно оптимизировать код. Вот условие и ниже мое решение: Уровень палиндромности Задано натуральное число m. Если число не...

Visual C++ проверка ввода на число, проверка на кирилицу - C++
Суть ввести с клавиатуры нечто, и повторять ввод до тех пор пока введенное число не будет числом. Этот код проверяет на буквы и знаки,...

Вероятность палиндромности - Теория вероятностей
Помогите пожалуйста решить. Имеется набор перемешанных карточек с латинскими буквами. Случайным образом раскладываем карточки. Какова...

Что быстрее, проверка на null, или проверка на тип перечисления в запросе? - 1С
вопрос такой. если несколько таблиц. сходных по структуре в запросе. в первой таблице типТовара = перечисление.тратата.набор во...

Проверка метабокса - не сохранять пост, если проверка не пройдена - WordPress
Всем здравствуйте. Изучаю метабоксы в WP. Столкнулся с проблемой проверки метабокса. Возьмем мой код сохранения данных метабокса: ...

Проверка на совпадение + проверка строки на содержание спец. символов - Delphi
В общем ситуация такая: есть типизированный файл, форма для добавления пользователей (которые пишутся в файл). Для записи данных использую...

14
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
14.11.2012, 21:23 #2
Вообще конечно надо пользоваться поиском по форумы, но у тебя первое сообщение поэтому вот такой вариант
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
#include <iostream>  
 
bool pal(int n) 
{ 
    int a = n; 
    int b = 0; 
    while(n) 
    { 
        b = ( b * 10) + (n% 10); 
        n /= 10; 
    } 
    return a == b;
}
 
int main() 
{ 
    int number; 
    std::cout << "Inter a number " << std::endl; 
    std::cin >> number;  
    if(pal(number)) 
        std::cout << "Yes " << std::endl; 
    else 
        std::cout << "No " << std::endl;
}
1
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
14.11.2012, 21:55  [ТС] #3
спасибо за быстрый ответ, пользовался поиском просто не чего конкретного не нашел, прошу прощение за любопытство, а на каком компиляторе создан код запускаю в вижелстудия после ввода числа программа автоматом вылетает.
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
14.11.2012, 21:57 #4
Visual Studio 2010, пропиши в конце system("Pause");
1
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
14.11.2012, 22:20  [ТС] #5
большое спасибо, все работает.
0
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
30.11.2012, 12:31  [ТС] #6
David Sylva, день добрый, не могли бы прокомментировать строки функции bool pal(int n):


int a = n;
int b = 0;
while(n)
{
b = ( b * 10) + (n% 10);
n /= 10;
}

буду очень благодарин
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.11.2012, 12:41 #7
C++
1
2
3
4
5
6
7
int a = n;  // присваиваем a, число n
int b = 0; // b равно 0
while(n) // цикл идёт до тех пор пока n не равно 0
{ 
b = ( b * 10) + (n% 10); // b равно b умножить на 10 +  n деление с остатком на 10
n /= 10;                 // аналогично записи n = n / 10;
}
0
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
30.11.2012, 13:02  [ТС] #8
прошу прощения может я не корректно выразился, меня интересуют заначения переменных то есть что такое a b n и зачем производятся действия умножения дделения по модулю деление n на 10
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.11.2012, 13:09 #9
Цитата Сообщение от MadBittern Посмотреть сообщение
прошу прощения может я не корректно выразился, меня интересуют заначения переменных то есть что такое a b n и зачем производятся действия умножения дделения по модулю деление n на 10
Вот это ты спросил! a, b целочисленные переменные, n число которое мы передаём в функцию.
0
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
30.11.2012, 13:35  [ТС] #10
я понимаю что это переменные я не могу понять на что они указывают: то есть мы вводим число number функция main вызывает функцую pal, в которой но что такое a b и n относительно числа number на что указывают эти переменные на порядок цифры в числе я не могу понять сам принцип проверки а очень хотелось бы разобраться

Добавлено через 7 минут
ну то есть например возник вопрос: что такое "и" в фразе Петя и Таня.
был получен ответ:"это буква" ответ логичный.
но "и" это еще и союз который объединяет Петю с Таней, то есть получено объяснение "что такое и".
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.11.2012, 13:37 #11
MadBittern тебе не понятен принцип работы программы?
0
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
30.11.2012, 13:39  [ТС] #12
ну можно и так сказать)
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.11.2012, 13:46 #13
Вводим число, в условие if вызывается функция pal, аргументом, который является наше число. Дальше в функции pal, заводим переменные a, которое равняется нашему числу, b = равняется 0.Дальше с помощью цикла преобразуем b и если b равно a, это палиндром.
0
MadBittern
7 / 7 / 1
Регистрация: 12.11.2012
Сообщений: 197
30.11.2012, 18:45  [ТС] #14
большое спасибо, кратко лаконично и все понятно)
0
kornata
1 / 1 / 0
Регистрация: 06.04.2010
Сообщений: 16
09.12.2012, 18:56 #15
Цитата Сообщение от David Sylva Посмотреть сообщение
Вводим число, в условие if вызывается функция pal, аргументом, который является наше число. Дальше в функции pal, заводим переменные a, которое равняется нашему числу, b = равняется 0.Дальше с помощью цикла преобразуем b и если b равно a, это палиндром.
Можно узнать подробнее о преобразованиях в цикле. Что это за формула?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 18:56
Привет! Вот еще темы с ответами:

Проверка internet connection. Проверка доступности сети - Программирование Android
Добрый день. Для проверки Internet Connection советуют делать что-то вроде: private boolean haveNetworkConnection() { ...

Проверка данных в Access (проверка Статуса Кандидата) - MS Access
Всем доброго времени суток! Проблема такая. В бд есть таблица кандидатов, в ней есть номер телефона кандидата. Перед заполнением...

Проверка! - C++
Вот код программы #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;limits&gt; using...

Проверка с if - C++
Есть треугольник забитый (*) надо сделать пустоту в нем оставить только контур -------* ------*-* -----*---* ----*-----* ...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
09.12.2012, 18:56
Ответ Создать тему
Опции темы

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