Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.programming    |    Programming issues that transcend langua    |    57,431 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 56,691 of 57,431    |
|    Richard Harnden to Ben Bacarisse    |
|    Re: A little puzzle.    |
|    28 Nov 22 11:20:28    |
   
   From: richard.nospam@gmail.com   
      
   On 21/11/2022 20:45, Ben Bacarisse wrote:   
   > I wonder if there are any real posters here? Let's see...   
   >   
   > I came across a trivial programming task that must have been solved a   
   > thousand times by other programmers, but it had never crossed my path   
   > until yesterday. I must be feeling my age because I made a real hash of   
   > tackling it at first. Anyway, I thought it might be of interest.   
   >   
   > Consider any ordered measure that "wraps round" -- bearings in degrees,   
   > minutes in the hour, indeed hours in either the 12 or 24 hour clock.   
   > The problem is to determine if a given value is in the sub-range   
   > specified by a start and an en value.   
   >   
   > I was specifically concerned with integer values where the sub-range   
   > includes the start value but excludes the end value.   
   >   
   > Though I am not sure this merits the term "puzzle", I suggest that   
   > solutions be posted with some spoiler protection. Do all the news   
   > readers used by programmers (or ex programmers) all respect the presence   
   > of a form-feed character...   
   >    
   > ... like this? Because that's my favourite way, rather than posting   
   > lots of dummy lines before the solution.   
   >   
      
   I think this works ...   
      
   int in_subrange(int range, int start, int end, int check)   
   {   
    check %= range;   
      
    if ( ( end < start && (   
    (check >= 0 && check <= end)   
    || (check >= start && check < range)   
    )   
    )   
    || ( check >= start && check <= end )   
    )   
    return 1;   
      
    return 0;   
   }   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca