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

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

Восстановить пароль Регистрация
 
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
14.11.2012, 21:14     Проверка палиндромности #1
Дано целое число. Определить, является ли десятичная запись этого числа палиндромом (читается одинаково справа налево и слева направо, например 43543).

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

C++ Проверка!
Проверка на цифру C++
C++ Проверка орфографии
проверка C++
Проверка с if C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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;
}
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
14.11.2012, 21:55  [ТС]     Проверка палиндромности #3
спасибо за быстрый ответ, пользовался поиском просто не чего конкретного не нашел, прошу прощение за любопытство, а на каком компиляторе создан код запускаю в вижелстудия после ввода числа программа автоматом вылетает.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
14.11.2012, 21:57     Проверка палиндромности #4
Visual Studio 2010, пропиши в конце system("Pause");
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
14.11.2012, 22:20  [ТС]     Проверка палиндромности #5
большое спасибо, все работает.
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
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;
}

буду очень благодарин
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
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;
}
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
30.11.2012, 13:02  [ТС]     Проверка палиндромности #8
прошу прощения может я не корректно выразился, меня интересуют заначения переменных то есть что такое a b n и зачем производятся действия умножения дделения по модулю деление n на 10
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
30.11.2012, 13:09     Проверка палиндромности #9
Цитата Сообщение от MadBittern Посмотреть сообщение
прошу прощения может я не корректно выразился, меня интересуют заначения переменных то есть что такое a b n и зачем производятся действия умножения дделения по модулю деление n на 10
Вот это ты спросил! a, b целочисленные переменные, n число которое мы передаём в функцию.
MadBittern
 Аватар для MadBittern
6 / 6 / 1
Регистрация: 12.11.2012
Сообщений: 190
30.11.2012, 13:35  [ТС]     Проверка палиндромности #10
я понимаю что это переменные я не могу понять на что они указывают: то есть мы вводим число number функция main вызывает функцую pal, в которой но что такое a b и n относительно числа number на что указывают эти переменные на порядок цифры в числе я не могу понять сам принцип проверки а очень хотелось бы разобраться

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

C++ Проверка if
C++ Проверка
С++ проверка C++

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

Или воспользуйтесь поиском по форуму:
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, это палиндром.
Можно узнать подробнее о преобразованиях в цикле. Что это за формула?
Yandex
Объявления
09.12.2012, 18:56     Проверка палиндромности
Ответ Создать тему
Опции темы

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