C++ Tutorial Index

C++ Tutorial C++ History C++ Installation C++ First Program C++ cin and cout C++ Data type C++ Variable C++ operator C++ Keywords

C++ Control Statements

C++ If C++ Nested if C++ If-else C++ If-else-if C++ Switch C++ Break C++ Continue C++ Goto C++ For loop C++ While loop C++ Do while loop

C++ Functions

C++ Call by Value C++ Call by Reference C++ Recursion Function C++ Inline function C++ Friend function

C++ Arrays

Single dimension array Two dimension array

C++ Strings

C++ Strings

C++ Inheritance

C++ Inheritance Single level Inheritance Multilevel Inheritance Multiple Inheritance Hierarchical Inheritance Hybrid Inheritance

C++ Polymorphism

C++ Polymorphism C++ Overloading C++ Overriding C++ Virtual Function

C++ Pointers

C++ Pointers C++ this pointer

C++ Exception Handling

C++ Exception Handling

C++ Constructors

C++ Constructors Default Constructor Parameterize Constructor Copy constructor Constructor Overloading Destructor

C++ File Handling

C++ File Handling C++ Writing to file C++ Reading file C++ Close file

Miscellaneous

C Vs C++ C++ Comments C++ Data Abstraction C++ Identifier C++ Memory Management C++ Storage Classes C++ Void Pointer C++ Array To Function C++ Expressions C++ Features C++ Interfaces C++ Encapsulation std::min in C++ External merge sort in C++ Remove duplicates from sorted array in C++ Precision of floating point numbers Using these functions floor(), ceil(), trunc(), round() and setprecision() in C++ C++ References C++ Friend Functions C++ Mutable keyword Unary Operators in C++ Initialize Array of objects with parameterized constructors in C++ Differences between #define & const in C/C++ C++ Program to Implement Shell Sort C++ Program to Implement Merge Sort Storage Classes in C Vector resize() in C++ Passing by Reference Vs. Passing by the pointer in C++ Free vs delete() in C++ goto statement in C and C++ C++ program to read string using cin.getline() C++ String Concatenation Heap Sort in C++ Swap numbers in C++ Input Iterators in C++ Fibonacci Series in C++ C ++ Program: Alphabet Triangle and Number Triangle C++ Program: Matrix Multiplication C++ Program to Print Fibonacci Triangle Stack in C++ Maps in C++ Queue in C++ C++ Bitset C++ Algorithms Priority Queue in C++ C++ Multimap C++ Deque Function Pointer in C++ Sizeof() Operators in C++ C++ array of Pointers free() Vs delete in C Timsort Implementation Using C++ CPP Templates C++ Aggregation C++ Enumeration C++ Math Functions C++ Object Class C++ Queue Initialize Vector in C++ Vector in C++ C++ STL Components Function overloading in C++ C++ Maximum Index Problem C++ find missing in the second array C++ Program to find the product array puzzle C++ Program To Find Largest Subarray With 0 Sum C++ Program To Move All Zeros To The End Of The Array C++ Program to find the element that occurs once C++ Program to find the largest number formed from an array Constructor Vs Destructor C++ Namespaces C++ OOPs Concept C++ Static C++ Structs C++ Try-Catch C++ User Defined Exceptions C++ Virtual Destructor C++ vs C# Malloc() and new in C++ Palindrome Number Program in C++ Snake Code in C++ Splitting a string in C++ Structure Vs Class in C++ Virtual Function Vs Pure Virtual Function C++ Bidirectional Iterators C++ Forward Iterators C++ Iterators C++ Output Iterators C++ Range-based For Loop Converting string into integer in C++ LCM Program in C++ Type conversion in C++ Add two numbers using the function in C++ Advantage and disadvantage friend function C++ Armstrong Number Program in C++ ATM machine program in C++ using functions Binary to Decimal in C++ Bit Manipulation in C++ C++ Constructor C++ Dijkstra Algorithm Using the Priority Queue C++ int into String C++ Signal Handling Decimal to Binary in C++ Decimal to Hexadecimal in C++ Decimal to Octal in C++ Factorial Program in C++ Function in C++ Hexadecimal to Decimal in C++ Octal to Decimal in C++ Reverse a Number in C++ Structure Vs Class in C++ C++ Forward Iterators C++ Output Iterators C++ Prime number program Char Array to String in C++ Constructor Overloading in C++ Default arguments in C++ Different Ways to Compare Strings in C++ Dynamic Binding in C++ Program to convert infix to postfix expression in C++ SET Data Structure in C++ Upcasting and Downcasting in C++ Reverse an Array in C++ Fast Input and Output in C++ Delete Operator in C++ Copy elision in C++ C++ Date and Time C++ Bitwise XOR Operator Array of sets in C++ Binary Operator Overloading in C++ Binary Search in C++ Implementing the sets without C++ STL containers Scope Resolution Operator in C++ Smart pointers in C++ Types of polymorphism in C++ Exception Handling in C++ vs Java Const Keyword in C++ Type Casting in C++ Static keyword in C++ vs Java Inheritance in C++ vs Java How to concatenate two strings in C++ Programs to Print Pyramid Patterns in C++ swap() function in C++ Structure of C++ Program Stringstream in C++ and its applications rand() and srand() in C / C++ C++ Ternary Operator C++ Scope of Variables While Loop Examples in C++ Star pattern in C++ using For Loops For Loop Examples in C++ Do-While Loop Examples in C++ Top 5 IDEs for C++ That You Should Try Once Assertions in C/C++ C++ Convert Int to String Continue in C++ While loop Diamond Pattern in C++ using For Loop How to Reverse a String in C++ using Do-While Loop How to Reverse a String in C++ using For Loop How to Reverse a String in C++ using While Loop Infinite loop in C++ Loops in C++

Palindrome Number Program in C++

A palindrome number is one that is the same when it is reversed. Palindrome numbers include 22, 33, 44, 55, 66, 77, 88, and 99.

Algorithm for Palindrome Numbers

  • Get the user's phone number.
  • Keep the value in a temporary variable.
  • Reverse the digits
  • Compare the temporary number to the number in reverse.
  • Print a palindrome number if both numbers are the same.
  • Otherwise, do not print a palindrome number.

Let's look at a C++ palindrome program. In this program, we will take a user input and determine whether or not the integer is palindrome.

#include <iostream>  
#include <bits/stdc++.h>
#include <stdlib>
using namespace std;  
int main()  
{  
  int num,i,sum=0,temp;    
  cout<<"Enter the Number=";    
  cin>>num;    
 temp=num;    
 while(n>0)    
{    
 i=num%10;    
 sum=(sum*10)+i;    
 num=num/10;    
}    
if(temp==sum)    
cout<<"Number you entered is Palindrome.";    
else    
cout<<"Number you entered is not Palindrome.";   
  return 0;  
}  

OUTPUT

Enter the Number= 22
Number you entered is Palindrome.


Enter the Number= 112
Number you entered is not Palindrome.

Explanation of the above code:

User is prompted to input a positive integer, which is saved in the variable num, in the above code. The number is then stored in a variable called num, which is used to check whether the original number has been reversed. Code number = num% 10; used to divide the last digit of a number within a do ... while loop. The time frame is then updated with this digit. To add a digit to the nth place in a number, we must first multiply the current data in the 10-degree shift before adding the digit. In the number 112, for example, 2 are in the 0th position, 1 in the first place, and 1 in the hundredth place. To add another number 4 after 112, we must shift the present numbers to the left, putting 1 in the thousandth position, 1 in the first place, 2 in the first place, and 4 in the 0th place. This is simply accomplished by multiplying 112 by 10 to get 1120, then adding 4 to get 1124. The code above does the same thing. We have a reversed number in temp when they do while loop eventually stops. The original number, num, is then compared to this number. The original number is a palindrome if the numbers are equal; otherwise, it is not.

Using Function to Check Palindrome Number

Let’s look at a example of a program using function to check palindrome number in c++:

#include<iostream>
#include<bits/stdc++.h>
#include<stdlib>
using namespace std;
int check_Palindrome(int);
int main()
{
    int num, value;
    cout<<"Enter the Number: ";
    cin>>num;
    value = check_Palindrome(num);
    if(value==0)
        cout<<"\nIt is a Palindrome Number";
    else
        cout<<"\nIt is not a Palindrome Number";
    cout<<endl;
    return 0;
}
int check_Palindrome(int n)
{
    int temp, rem, rev=0;
    temp = n;
    while(temp>0)
    {
        rem = temp%10;
        rev = (rev*10)+rem;
        temp = temp/10;
    }
    if(rev==n)
        return 0;
    else
        return 1;
}

OUTPUT:

Enter the Number: 55
It is a Palindrome
…………………………………
Process Executed in 0.134 seconds 
Press any key to continue.

Using String () Method to Check Palindrome Number

  • Because the range of long long int does not fulfil the supplied number when the number of digits reaches 1018, we can't treat it as an integer.
  • Assume that input is a unit of characters. Start the loop from the beginning to the length / 2, check the first letter (number) to the last letter of the letter unit, the second to the last letter, and so on ....The string would not be a palindrome if any characters were mismatched.

Let’s as look at an example of a program in C++ using string() method to check a number is palindrome or not:

// C++ implementation of the above approach
#include <iostream>
#include <bits/stdc++.h>
#include <stdlib>
using namespace std; 
// Function to check palindrome
int check_Palindrome(string str)
{
	int l = str.length();
	for (int i = 0; i < l / 2; i++) {
	
		if (str[i] != str[l - i - 1])
			return false;
	}
	
	return true;
}
// Driver Code
int main()
{ // taking number as string
	string st
		= "11332255667799880000008899776655332211";
	if (check_Palindrome(st) == true)
		cout << "Yes";
	else
		cout << "No";
	return 0;
}

OUTPUT:

Yes
…...
Process Executed in 0.022 seconds
Press any Key to continue.

Program to print all Palindrome Number in the given interval

#include <iostream>
using namespace std; 
bool is_Palindrome(int num){
    //copy the 'num' to 'temp' and initialize 'rev' with 0
    int temp=num, rev=0; 
    //while loop to revesere the 'num'
    while(temp>0){
        rev = rev*10 + temp%10;
        temp = temp/10;
    }
    return rev == num;
}
int main()
{
    int low, upper; 
    cout<<"Enter a lower interval value \n";
    cin >> low; 
    cout<<"Enter a upper interval value \n";
    cin >> upper; 
    for(int i=low; i<=upper; i++){
        if(is_Palindrome(i))
            cout << i << " ";
    }
    return 0;
}

OUTPUT:

Enter a lower interval value
9
Enter a upper interval value
100
9 11 22 33 44 55 66 77 88 99

Explanation:

The is_Palindrome() method returns true if the specified number num is a palindrome; otherwise, it returns false. We use the for loop to go through each integer in the specified interval, then pass the result to the is_Palindrome() function to see if it's a palindrome.



ADVERTISEMENT
ADVERTISEMENT