Comp Sci Mastering Palindromes: Understanding C++ Programming with Goto and For Loops

  • Thread starter Thread starter Isma
  • Start date Start date
  • Tags Tags
    C++ Program
AI Thread Summary
The discussion centers on programming challenges related to recognizing palindromes using C++ with both goto statements and for loops, as well as converting binary to decimal and vice versa. The original poster expresses confusion about implementing for loops and seeks help with their code, which includes attempts to solve the palindrome problem and binary conversion. Users suggest that the pow() function is necessary for certain calculations and provide insights into using loops for binary to decimal conversion. Overall, the conversation emphasizes the importance of understanding loop structures and algorithmic logic in programming.
Isma
Messages
27
Reaction score
0
i've just started studying programming...nd i can't understand how to write these programs:

1:to recognize palindromes using goto condition
2:to recognize palindromes using for loop
3:to convert binary into decimal nd decimal into binary

i m seriously lost nd can't understand for loop...pleasez help
actually i ve finally done palindrome question by goto method:)
pleasez help me with for loop
nd tell me how to get output for required binary or decimal no.?doz it use for loop?
 
Last edited:
Physics news on Phys.org
We're not going to do your homework for you. You can post programs you've attempted, but which don't work, and we can try to help you fix them.

- Warren
 
sorry i wasnt asking you to do it...actually my vc++ has some problem as soon as i run program computer shuts down...i ve made codes can any1 check them

for 1.
{
int a,b,c,d,n,div,div1;
cout<<"length of no. :";
cin>>n;
cout<<"Number :";
cin>>a;
flag:
div=pow(10,n-1);
div1=pow(10,1);
b=a/div;
c=a%div1;
d=a%div;
a=d/div1;
n=n-2;
if (b!=c)
cout<<"No. isn't a palindrome"<<endl;
else if (n==0 || n==1)
cout<<"No. is palindrome"<<endl;
else
goto flag;
}

for 2.
{
int num,n,x,length,division1,a,b,y;
cout<<"length :";
cin>>n;
cout<<"number :";
cin>>num;

for (n=1;n<=length;n++)
{
x=num/pow(10,length-n);
division1=pow(10,n-1);
a=x%10;
y=num%division1;
b=x/pow(10,n-1);

if (n>length)
break;

if (a==b)
cout<<"no. is a palendrome"<<endl;
else if (a!=b)

cout<<"no. is not a palendrome"<<endl;

}
nd i m working on 3rd
 
what is the use of the pow() function please specify

another method just find reverse of a no and compare it to the orignal no
 
actually i need to apply only pow(a,b){it is a power function meaning a^b}
nd for loop nd goto conditions
pow(a,b) requires source file math.h
i ve done somethings for 3rd but can't check output
please some1 do

{
int n,a,s,m,i;
cout<<"length of no.";
cin>>n;
cout<<"number";
cin>>a;

s=8*n-1;
m=1<<s;

cout<< setw( 10 )<<a<<"=";
for (i=1;i<=s+1;i++)
{
cout<<(a & m ? "1" : "0" );
a<<=1;
if (a%8==0)
cout<<" ";
}
cout<<endl;
}
 
Well, I'm not too familiar with several of the functions you used in the third problem (setw(n), <<=, etc.) but for binary to decimal conversion, a rough algoithm might consist of passing each digit in the input to an array of a size equal to the length of the input, then multiplying each element by 2^n (where n represents the placement of the digit, i.e. n=0 for least significant digit, etc.), and then adding the multiplied value if the digit to the output.
 
but i vent done arrays till now...can we do it by loop?
 
As a FYI you can use a code tag so that your code is easier to read

Code:
...[slash code]

[code]
 {
int n,a,s,m,i;
cout<<"length of no.";
cin>>n;
cout<<"number";
cin>>a;

s=8*n-1;
m=1<<s;

cout<< setw( 10 )<<a<<"=";
for (i=1;i<=s+1;i++)
{
cout<<(a & m ? "1" : "0" );
a<<=1;
if (a%8==0)
cout<<" ";
}
cout<<endl;
}
 
how about finding reverse of a no by this logic and comparing it to the orignal one
int sum,a,b;
sum=0;
cin>>a;
b=a;
while(a!=0)
{
sum=(sum*10)+(a%10);
a=a/10;
}
if(sum==b)
cout<<"palindrome";
 

Similar threads

Replies
4
Views
3K
Replies
18
Views
7K
Replies
3
Views
3K
Replies
8
Views
1K
Replies
7
Views
3K
Back
Top