EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Palindrome Program in C++

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » Palindrome Program in C++

Palindrome Program in C++

Introduction on Palindrome Program in C++

Like any other programming language, we can perform the various operation in C++ also. In this article, we are going to see how to test the Palindrome Program in C++ with the help of some examples. Before that, first, we will see what is the meaning of Palindrome. A Palindrome is a result that gives the same value after reversing the original value. The logic behind palindrome is as simple as it sounds. For example, MOM if you find out the reverse of MOM, it, the result will be the same i.e. MOM. So we can say that MOM is a Palindrome.

Some Examples to Identify whether they are Palindrome or not

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  • 78987: the reverse is 78987, so it is a palindrome.
  • LOL: Reverse is LOL, so it is a palindrome.
  • 56425: Reverse is 52465, so it is not a palindrome.
  • fare: Reverse is era, so it is not a palindrome.

Form the above-mentioned example, we can now identify whether it is a palindrome or not. But we have solved these above examples orally. Let us see how this oral logic is performed in a programming language like C++. Before moving to that, first, we will see the algorithm of check palindrome value in the C++ program.

The algorithm to test Palindrome in C++ program is given as below:
1. Get an input form the user.
2. Store that input value in a temporary variable.
3. Find the reverse of the input value.
4. Compare both values’ reverse and temporary variables.
5. If both values match print it is a palindrome
6. If both values do not match, print it is not a palindrome.

How to Check the Palindrome in the C++ Program?

In this section, we are going to see how to check palindrome in C++ language using various methods like while loop, for loop and do while loop with the help of examples.

Example #1: Program to check Palindrome in C++ using a while loop

Code:

#include<iostream>
using namespace std;
int main()
{
int num, reverse_num = 0, temp_num;
cout << "Enter random number to check palindrome value:"; // allow user to enter a number
cin >> num; // takes value from user
temp_num = num; //store number to temp_number
while (num != 0)
{
reverse_num = reverse_num * 10;
reverse_num= reverse_num + num% 10;
num = num / 10;
}
if(temp_num == reverse_num) // check reverse number with original number
{
cout << "Given number is palindrome"; //if match, print palindrome
}
else
{
cout << "Given number is not a palindrome"; // If it doesn’t match with original print, not a palindrome
}
return 0;
}

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,890 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Explanation of the above program

In the above program to check whether the value is a palindrome or not, we use a while loop. Here we initialize 3 variables num for storing the value entered by the user, reverse_num to store the reverse value and temp_num to store value temporary. While loop first checks the condition before the execution of the loop. It if matches the condition it will execute the statements declared within the loop. Here we use while loop to find the reverse of the value. once the reverse value is calculated it transfers flow control to if statement. If the condition matches, i. E if the reverse value is equal to the temp variable it will show the Given value is palindrome else it will show given value is not a palindrome.

Output:

 output1

output2

Example #2: Program to check Palindrome in C++ using For loop

Code:

#include<iostream>
using namespace std;
int main()
{
int num, remainder_num, reverse_num = 0, i, temp_num;
cout << "Enter random number to check palindrome value:"; // allow user to enter a number
cin >> num; // takes value from user
temp_num = num; //store number to temp_number
for(i = num; i >0;)
{
remainder_num= i % 10;
reverse_num = remainder_num+ reverse_num * 10;
i = i/ 10;
}
if(temp_num == reverse_num) // check reverse number with original number
{
cout << "Given number is palindrome"; //if match, print palindrome
}
else
{
cout << "Given number is not a palindrome"; // If it doesn’t match with the original print, not a palindrome
}
return 0;
}

Explanation of the above program

In the above-mentioned program to test whether the number is Palo or not, we used for loop method. Here we initialized four variables num to tore value, remainder_num to store the remainder value of the number, reverse_num to store reverse value and temp_num to store value temporary. To find the reverse value we used for the loop method. In for loop, first, we initialize value, then apply conditions and last mentioned the increment. For loop check the condition and excuses loop until the condition becomes false. Once the reverse number is calculated we test the palindrome value the same as we discussed in the first method i.e while loop.

Output:

output3 c++

output4 c++

Example #3: Program to check Palindrome in C++ using the do-while loop

Code:

#include<iostream>
using namespace std;
int main()
{
int num, reverse_num = 0, temp_num;
cout << "Enter random number to check palindrome value:"; // allow user to enter a number
cin >> num; // takes value from user
temp_num = num; //store number to temp_number
do
{
reverse_num = reverse_num * 10;
reverse_num = reverse_num+ num % 10;
num = num / 10;
}while(num != 0);
if(temp_num == reverse_num) // check reverse number with original number
{
cout << "Given number is palindrome"; //if match, print palindrome
}
else
{
cout << "Given number is not a palindrome"; // If it doesn’t match with the original print, not a palindrome
}
return 0;
}

Explanation of the above program

In the above-mentioned program, to test whether the number is palindrome or not we used to do while loop method. It is the same as while loop only difference is while loop first checks the condition and then execute loop whether the do-while loop first executes the loop and then check condition. If the condition is true it will execute the loop until the condition becomes false. Here to find the reverse value of the number, we used the do-while loop. And once the reverse value is calculated it compares the reverse value with temporary value and prints the result using the if-else statement as we discussed in the first example.

Output:

Palindrome Program in C++5

Palindrome Program in C++6

Example #4: Program to check whether String is Palindrome or not in C++

Code:

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char string[25];
int i, length, flag = 0;
cout << "Enter random string to check palindrome:"; // allow user to enter string
cin >> string; // takes string as a input
length = strlen(string); //counts string length
for(i = 0; i < length; i++)
{
if(string[i] != string[length-i-1])
{
flag = 1;
break;
}
}
if(flag)
{
cout << "Given string is not palindrome";
}
else {
cout << "Given string is palindrome";
}
return 0;
}

Explanation of the above program

In previous examples, we check palindrome for the value. In the above program, we have test palindrome for the string. First, we initialize string to store the string values. Here we used the strlen() keyword to find the length of the string. The logic for the string is the same as for numbers. Here to find the reverse of the string we used for loop. Once the reverse of the given string is calculated, it will transfer control to the if-else statement to print the result.

Output:

Palindrome Program in C++7

Palindrome Program in C++8

Conclusion

In this article, some examples along with a detailed explanation, we have seen how to test whether a number or string is a palindrome or not using the C++ language. I hope this article will help you to understand how the Palindrome number works and that you will find this article helpful.

Recommended Articles

This is a guide to Palindrome Program in C++. Here we discuss basic concept, how to check Palindrome in C++ program along with examples and code implementation. You can also go through our other related articles to learn more-

  1. Palindrome in C Program
  2. Palindrome in Python
  3. Palindrome in PHP
  4. Palindrome in Java

C++ Training (4 Courses, 3 Projects, 4 Quizzes)

4 Online Courses

5 Hands-on Projects

37+ Hours

Verifiable Certificate of Completion

Lifetime Access

4 Quizzes with Solutions

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C++ Training (4 Courses, 3 Projects, 4 Quizzes) Learn More