Re: [algogeeks] validate bit pattern : MS question

2012-04-07 Thread Dave
@Atul007: A shorter and logically simpler version of this:
 
bool IsOnesZerosOnes(unsigned int n)
{
while( n  1 ) n = 1;
if( !n ) return 0;
while( !(n  1 ) ) n = 1;
while( n  1 ) n = 1;
return !n;
}
 
The first while loop strips off the trailing ones.
If the result is nonzero, the second while strips off the zeros, and the 
third while strips off the next set of ones.
If the result is zero, the n matches the pattern; otherwise, n fails to 
match it.
 
Dave

On Tuesday, April 3, 2012 11:57:16 PM UTC-5, atul007 wrote:

 This can be done simply by checking and unchecking flag , below code will 
 work :-

 void checkPattern(int n)
 {
 int cnt=0,flag=1;
 if(n1)
 {
 while(n)
 {
 if(n1  flag==1)
 {
 cnt++;
 flag=0;
 }
 else if(!(n1)  flag==0)
 {
 cnt++;
 flag=1;
 }
 if(cnt  3)
 {
 break;
 }
 n=n1;
 }
 }
 if(cnt==3)
 printf(\npattern found\n);
 else
 printf(\nPattern not found\n);
 }




 On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel ashg...@gmail.com wrote:

 verify that the bits of a number are in format 1s followed by 0s followed 
 by 1s like 1110001 is valid but 100100100 is not

 Best Regards
 Ashish Goel
 Think positive and find fuel in failure
 +919985813081
 +919966006652
  
 -- 
 You received this message because you are subscribed to the Google Groups 
 Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to 
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/algogeeks?hl=en.




-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/algogeeks/-/eJ4jTQHMOaYJ.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] validate bit pattern : MS question

2012-04-07 Thread atul anand
@Dave: yeahhrite ... +1 :)
On 7 Apr 2012 21:13, Dave dave_and_da...@juno.com wrote:

 @Atul007: A shorter and logically simpler version of this:

 bool IsOnesZerosOnes(unsigned int n)
 {
 while( n  1 ) n = 1;
 if( !n ) return 0;
 while( !(n  1 ) ) n = 1;
 while( n  1 ) n = 1;
 return !n;
 }

 The first while loop strips off the trailing ones.
 If the result is nonzero, the second while strips off the zeros, and the
third while strips off the next set of ones.
 If the result is zero, the n matches the pattern; otherwise, n fails to
match it.

 Dave

 On Tuesday, April 3, 2012 11:57:16 PM UTC-5, atul007 wrote:

 This can be done simply by checking and unchecking flag , below code
will work :-

 void checkPattern(int n)
 {
 int cnt=0,flag=1;
 if(n1)
 {
 while(n)
 {
 if(n1  flag==1)
 {
 cnt++;
 flag=0;
 }
 else if(!(n1)  flag==0)
 {
 cnt++;
 flag=1;
 }
 if(cnt  3)
 {
 break;
 }
 n=n1;
 }
 }
 if(cnt==3)
 printf(\npattern found\n);
 else
 printf(\nPattern not found\n);
 }




 On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel ashg...@gmail.com wrote:

 verify that the bits of a number are in format 1s followed by 0s
followed by 1s like 1110001 is valid but 100100100 is not

 Best Regards
 Ashish Goel
 Think positive and find fuel in failure
 +919985813081
 +919966006652

 --
 You received this message because you are subscribed to the Google
Groups Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.


 --
 You received this message because you are subscribed to the Google Groups
Algorithm Geeks group.
 To view this discussion on the web visit
https://groups.google.com/d/msg/algogeeks/-/eJ4jTQHMOaYJ.

 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] validate bit pattern : MS question

2012-04-07 Thread atul anand
e@Dave : just checkedit will fails for input  
small modification will make it work.
On 7 Apr 2012 21:13, Dave dave_and_da...@juno.com wrote:

 @Atul007: A shorter and logically simpler version of this:

 bool IsOnesZerosOnes(unsigned int n)
 {
 while( n  1 ) n = 1;
 if( !n ) return 0;
 while( !(n  1 ) ) n = 1;
 while( n  1 ) n = 1;
 return !n;
 }

 The first while loop strips off the trailing ones.
 If the result is nonzero, the second while strips off the zeros, and the
 third while strips off the next set of ones.
 If the result is zero, the n matches the pattern; otherwise, n fails to
 match it.

 Dave

 On Tuesday, April 3, 2012 11:57:16 PM UTC-5, atul007 wrote:

 This can be done simply by checking and unchecking flag , below code will
 work :-

 void checkPattern(int n)
 {
 int cnt=0,flag=1;
 if(n1)
 {
 while(n)
 {
 if(n1  flag==1)
 {
 cnt++;
 flag=0;
 }
 else if(!(n1)  flag==0)
 {
 cnt++;
 flag=1;
 }
 if(cnt  3)
 {
 break;
 }
 n=n1;
 }
 }
 if(cnt==3)
 printf(\npattern found\n);
 else
 printf(\nPattern not found\n);
 }




 On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel ashg...@gmail.com wrote:

 verify that the bits of a number are in format 1s followed by 0s
 followed by 1s like 1110001 is valid but 100100100 is not

 Best Regards
 Ashish Goel
 Think positive and find fuel in failure
 +919985813081
 +919966006652

 --
 You received this message because you are subscribed to the Google
 Groups Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to algogeeks+unsubscribe@**
 googlegroups.com algogeeks%2bunsubscr...@googlegroups.com.
 For more options, visit this group at http://groups.google.com/**
 group/algogeeks?hl=en http://groups.google.com/group/algogeeks?hl=en.


  --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To view this discussion on the web visit
 https://groups.google.com/d/msg/algogeeks/-/eJ4jTQHMOaYJ.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] validate bit pattern : MS question

2012-04-07 Thread Dave
@Atul007: Oops. Right. insert
 
if( !(n  1) ) return 0;
 
before the first while statement.
 
Dave

On Saturday, April 7, 2012 1:41:53 PM UTC-5, atul007 wrote:

 e@Dave : just checkedit will fails for input  
 small modification will make it work.
 On 7 Apr 2012 21:13, Dave dave_and_da...@juno.com wrote:

 @Atul007: A shorter and logically simpler version of this:
  
 bool IsOnesZerosOnes(unsigned int n)
 {
 while( n  1 ) n = 1;
 if( !n ) return 0;
 while( !(n  1 ) ) n = 1;
 while( n  1 ) n = 1;
 return !n;
 }
  
 The first while loop strips off the trailing ones.
 If the result is nonzero, the second while strips off the zeros, and the 
 third while strips off the next set of ones.
 If the result is zero, the n matches the pattern; otherwise, n fails to 
 match it.
  
 Dave

 On Tuesday, April 3, 2012 11:57:16 PM UTC-5, atul007 wrote:

 This can be done simply by checking and unchecking flag , below code 
 will work :-

 void checkPattern(int n)
 {
 int cnt=0,flag=1;
 if(n1)
 {
 while(n)
 {
 if(n1  flag==1)
 {
 cnt++;
 flag=0;
 }
 else if(!(n1)  flag==0)
 {
 cnt++;
 flag=1;
 }
 if(cnt  3)
 {
 break;
 }
 n=n1;
 }
 }
 if(cnt==3)
 printf(\npattern found\n);
 else
 printf(\nPattern not found\n);
 }




 On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel ashg...@gmail.com wrote:

 verify that the bits of a number are in format 1s followed by 0s 
 followed by 1s like 1110001 is valid but 100100100 is not

 Best Regards
 Ashish Goel
 Think positive and find fuel in failure
 +919985813081
 +919966006652
  
 -- 
 You received this message because you are subscribed to the Google 
 Groups Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to algogeeks+unsubscribe@**
 googlegroups.com algogeeks%2bunsubscr...@googlegroups.com.
 For more options, visit this group at http://groups.google.com/**
 group/algogeeks?hl=en http://groups.google.com/group/algogeeks?hl=en.


  -- 
 You received this message because you are subscribed to the Google Groups 
 Algorithm Geeks group.
 To view this discussion on the web visit 
 https://groups.google.com/d/msg/algogeeks/-/eJ4jTQHMOaYJ.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to 
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/algogeeks?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/algogeeks/-/Q0iGS5JdsTUJ.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] validate bit pattern : MS question

2012-04-03 Thread atul anand
This can be done simply by checking and unchecking flag , below code will
work :-

void checkPattern(int n)
{
int cnt=0,flag=1;
if(n1)
{
while(n)
{
if(n1  flag==1)
{
cnt++;
flag=0;
}
else if(!(n1)  flag==0)
{
cnt++;
flag=1;
}
if(cnt  3)
{
break;
}
n=n1;
}
}
if(cnt==3)
printf(\npattern found\n);
else
printf(\nPattern not found\n);
}




On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel ashg...@gmail.com wrote:

 verify that the bits of a number are in format 1s followed by 0s followed
 by 1s like 1110001 is valid but 100100100 is not

 Best Regards
 Ashish Goel
 Think positive and find fuel in failure
 +919985813081
 +919966006652

 --
 You received this message because you are subscribed to the Google Groups
 Algorithm Geeks group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
Algorithm Geeks group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.