e@Dave : just checked....it will fails for input .... 11110000
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(n&1)
>> {
>>         while(n)
>>         {
>>                 if(n&1 && flag==1)
>>                 {
>>                         cnt++;
>>                         flag=0;
>>                 }
>>                 else if(!(n&1) && flag==0)
>>                 {
>>                         cnt++;
>>                         flag=1;
>>                 }
>>                 if(cnt > 3)
>>                 {
>>                         break;
>>                 }
>>                 n=n>>1;
>>         }
>> }
>>         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.

Reply via email to