# Need help with c++ program

• Comp Sci
i've just started studying programming...nd i cant 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 cant understand for loop...plzz help
actually i ve finally done palindrome question by goto method:)
plzz 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:

chroot
Staff Emeritus
Gold Member
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. isnt 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 cant check output
plz 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";