- 18
Palindrome numbers
#include <iostream> using namespace std; bool isPalindrome(int x) { //complete the function } int main() { int n; cin >>n; if(isPalindrome(n)) { cout <<n<<" is a palindrome"; } else { cout << n<<" is NOT a palindrome"; } return 0; }
22 odpowiedzi
+ 30
My answer plus an explanation on how this works since that's what's important:
#include <iostream>
using namespace std;
bool isPalindrome(int x) {
    //complete the function
     int  num, rem, rev=0;
    
     num=x; //to be able to save new values to compare original with
    while(x != 0)//to end loop once x=0
     { 
     rem = x%10; //1st step divides    number by 10 and makes the remainder the value of rem. Ex. 1234/10=123.4 rem=4
     rev= rev*10 + rem; //reverse number starts at 0 *10 + rem(4)=4
     x /= 10; //x becomes the value of x/10(123)
//these steps repeat. Rem=3, rev =4*10+3=43, x=123/10=12, until rev= 4321 and x=0.
     
        
    }
    
    if (rev==num)
    {
        return true;
        }
        else 
        {
            return false;
            
        }
    
}
int main() 
{
int n;
   cin >>n;
    
    
    if(isPalindrome(n)) {
        cout <<n<<" is a palindrome";
    }
    else {
        cout << n<<" is NOT a palindrome";
    }
    
    return 0;
}
+ 6
#include <iostream>  
using namespace std;  
int main()  
{  
  int n,r,sum=0,temp;    
  cin>>n; 
  cout <<n;   
 temp=n;    
 while(n>0)    
{    
 r=n%10;    
 sum=(sum*10)+r;    
 n=n/10;    
}    
if(temp==sum)    
cout<<" is a palindrome";    
else    
cout<<" is NOT a palindrome";   
  return 0;  
} 
Thats the only thing you are looking for
+ 5
John Christian Lopez 
Return true if previous value and new value is equal otherwise return false.
+ 4
bool isPalindrome(int x) {
    //complete the function
    int n, rev = 0, rem;
    n = x;
    while (n > 0) {
        rem = n%10;
        rev = rev*10 + rem;
        n /= 10;
    }
    return rev == x;
}
+ 1
//with bool function
#include <iostream>
using namespace std;
bool isPalindrome(int x, int y) {
    if(x==y){
        return true ;
    }
    else{
        return false ;
    }
    
}
int reverse(int z){
    int r=0;
    while(z!=0){
        r=r*10;
        r=r+z%10;
        z=z/10;
    }
    return r;
}
int main() {
    int n;
    cin >>n;
    int j =reverse(n);
    
    if(isPalindrome(n,j)) {
        cout <<n<<" is a palindrome";
    }
    else {
        cout << n<<" is NOT a palindrome";
    }
    return 0;
}
+ 1
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <cmath>
using namespace std;
void verNumber(int arr[], int len, int num){
   for (int i = 0; i < len ; i++)
   {
       cout <<i<<" "<<arr[i]<<endl;
   } 
   if((arr[0] == arr[len-1]) && (arr[1] == arr[len-2]))
    {
        cout<<num<<" is a palindrome"<<endl;
    }else
    {
        cout<<num<<" is NOT a palindrome"<<endl;
    }
}
void isPalindome(int num, int len){
   
   int arrNum[len];
   for (int i = 0; i < len ; i++)
   {
       arrNum[i] = (int) floor(num/pow(10,(len-(i+1)))) % 10;
       
   }
    
   verNumber(arrNum,len,num);  
   
}
int main(){
    char data[5];
    cin>>data;
    int len = strlen(data);
    int num = atoi(data); 
    isPalindome(num,len);
    return 0;
}
+ 1
short and good!
#include <iostream>  
using namespace std;  
int main(){int n,r,sum=0,temp;    
cin>>n; 
cout <<n;   
temp=n;    
while(n>0)
{r=n%10;
sum=(sum*10)+r;    
n=n/10;}    
if(temp==sum)    
cout<<" is a palindrome";    
else cout<<" is NOT a palindrome";   
return 0;}
+ 1
    int n=84648 r, sum=0, temp;    // for example n is = 84648
    cout <<n;   
    temp=n;   // 84648
    while(n>0) 
    {  //loop until n =0:    first         2th          3th         4th           5th
    r=n%10;                     // 8             4             6             4             8
    sum=(sum*10)+r;      // 8             84           846         8464       84648       now is sum =  84648
    n=n/10;                     // 8464,8     846,48    84,648    8,4648    0,84648    n is int therefore doesn't include after comer ,84648
    }
0
hmmm. looks like that code is wrong. maybe you pasted something else?
hint looks like it takes in parameter x and overwrites it with n.
also does not look like isPalindrome returns true or false (missing return statement).
Additional, things to consider, maybe this could help you:
—
Are there other things that could be palindromes? other than numbers? 
are you going to rewrite this if you get asked to instead check if a string is a palindrome?
would checking if a sting is a palindrome be easier than a number?
0
i am also on this problem and this answer that is provided does not work... i am glad it didnt work because i want to understand how it works and why they provided a global bool function. and then call the function in an if statement, ( i am guessing (n) is now == to x or the fucntion parameter.)
im not sure what is going on here and i need help understnding what is going on so we can answer this problem correctly. ... why did they use a global bool function????
0
Umm hi guys, How are you all
0
bool isPalindrome(int x) {
    int length = to_string(x).length() -1;
    string xxx;
    for (length; length != -1; length--){
        xxx = xxx + to_string(x)[length] ;
    }
    if (xxx == to_string(x)) {   return true; }  else{ return false;  }
}
you have to #include<string>
:)
0
Visit here for better & easy solution :-
https://code.sololearn.com/c0a209a25a0A
0
#include <iostream>  
using namespace std;  
int main()  
{  
  int n,r,sum=0,temp;    
  cin>>n; 
  cout <<n;   
 temp=n;    
 while(n>0)    
{    
 r=n%10;    
 sum=(sum*10)+r;    
 n=n/10;    
}    
if(temp==sum)    
cout<<" is a palindrome";    
else    
cout<<" is NOT a palindrome";   
  return 0;  
} 
now it's working
0
use % module to reverse the whole number one by one and you could use a while loop to make it easy
#include <iostream>
using namespace std;
bool isPalindrome(int x) {
    //complete the function
    int neww, div, rem, rem1;
// first part out of the loop
 
    rem1 = x % 10;                // get the first number of the reversed x
    div = x / 10;                   // substract the last number of x
    neww = rem1;                // begin the neww reverse number 
// reverse the whole number 
    while ( div > 10 ) {
       rem = div % 10;
       neww = neww*10 + rem;
       div = div / 10;
    }
    neww = neww*10 + div;           /* concatenate the first number of x as
                                                                   as the last one in the reverse*/
    if ( x == neww) {
        return true;
    } else {
        return false; 
    }
}
int main() {
    int n;
    cin >>n;
    
    if(isPalindrome(n)) {
        cout <<n<<" is a palindrome";
    }
    else {
        cout << n<<" is NOT a palindrome";
    }
    return 0;
}
0
#include <iostream>
using namespace std;
bool isPalindrome(int reverse, int check) {
    //complete the function
    bool status = true;
    if (reverse != check) {
        status = false;
    }
    return status;
}
int main() {
    int n, reverse = 0, rem;
    cin >> n;
    int check = n;
    while(n != 0){
		rem = n % 10;
		reverse = reverse * 10 + rem;
		n /= 10;
	}
    if(isPalindrome(reverse, check) == 1) {
        cout << reverse <<" is a palindrome";
    } else {
        cout << check <<" is NOT a palindrome";
    }
    return 0;
}
0
0
Why the reason we used so much 10 ?? All answers so similar.
0
#include <iostream>
using namespace std;
#include <string>
void rev(string num,int len,int save){
    string cache;
  for (int x = 1; x < len+1; x++){ 
    cache+=num[len-x];
    }
    cout << save;
  if ( to_string(save) == cache ){
      cout << " is a palindrome";
  }
  else{
      cout << " is NOT a palindrome";   
  }
}
int main(){
  string num;
  cin >> num;
  rev(num,num.length(),stoi(num));
  return 0;
}
0
Explanation in the comments:
https://code.sololearn.com/c1qOCghBDq6m/?ref=app





















