# Palindrome Problem in C++

• May 19th, 2022, 01:06 AM
Palindrome Problem in C++
hello Everyone, I'm trying to write a C++ program to find if palindrome number. Here's my code. The problem is that the program returns false even when the number is a palindrome. For example, the number 12321 is a palindrome number, but 1451 is not a palindrome number.

Code:

bool checkPalindrome(int original) {

int reverseNum = 0;
int tempOriginal = original;

while (tempOriginal > 0) {

int lastDigit = tempOriginal % 10;
reverseNum = reverseNum * 10 + lastDigit;
tempOriginal = tempOriginal / 10;
}

if (original == reverseNum) {
return true;
} else {
return false;
}
}

I have taken this code reference from this post. Can anyone tell me, Is this logic right?
• May 19th, 2022, 01:38 AM
VictorN
Re: Palindrome Problem in C++
It's now a very good reason to learn how to debug yor code, debug it and found out what goes wrong and why.
• May 19th, 2022, 03:35 AM
2kaud
Re: Palindrome Problem in C++
Code:

#include <iostream>
#include <iomanip>

bool checkPalindrome(unsigned original) {
unsigned reverseNum {};

for (auto tempOriginal {original}; tempOriginal > 0; tempOriginal /= 10)
reverseNum = reverseNum * 10 + tempOriginal % 10;

return original == reverseNum;
}

int main() {
std::cout << "1234 " << std::boolalpha << checkPalindrome(1234) << '\n';
std::cout << "1331 " << std::boolalpha << checkPalindrome(1331) << '\n';
std::cout << "12321 " << std::boolalpha << checkPalindrome(12321) << '\n';
std::cout << "1451 " << std::boolalpha << checkPalindrome(1451) << '\n';
}

Code:

1234 false
1331 true
12321 true
1451 false

• May 21st, 2022, 02:12 AM
wolle
Re: Palindrome Problem in C++
Quote: