Re: Need help to write routine - Please
- Posted by Juergen Luethje <j.lue at gmx.de> Aug 29, 2003
- 395 views
Pete wrote: > On Fri, 29 Aug 2003 21:36:08 +1000, Tony Steward > <tsteward at dodo.com.au> wrote: > >> I need help writing a routine. > > Enjoy: <code snipped> I tried to adapt your and my code to each other as much as possible, so that it's easier to compare them: -----------------------[ Pete's code (adapted) ]----------------------- sequence serial, positions, newValues function key (integer n) -- returns the nth key sequence values integer w n -= 1 for Level = length(positions) to 1 by -1 do values = newValues[Level] w = remainder(n, length(values)) n = floor(n / length(values)) serial[positions[Level]] = values[w+1] end for return serial end function serial = {0,5,3,4,1,1} positions = {2,4} newValues = { {1,3,7,9}, {0,2,6,8} } for i = 1 to power(length(newValues[1]),length(positions)) do ? key(i) end for ----------------------------------------------------------------------- ----------------------[ Juergen's code (adapted) ]--------------------- sequence serial, positions, newValues procedure change (integer Level) sequence values values = newValues[Level] for i = 1 to length(values) do serial[positions[Level]] = values[i] if Level < length(positions) then change(Level+1) else ? serial end if end for end procedure serial = {0,5,3,4,1,1} positions = {2,4} newValues = { {1,3,7,9}, {0,2,6,8} } change(1) ----------------------------------------------------------------------- Regards, Juergen -- /"\ ASCII ribbon campain | |\ _,,,---,,_ \ / against HTML in | /,`.-'`' -. ;-;;,_ X e-mail and news, | |,4- ) )-,_..;\ ( `'-' / \ and unneeded MIME | '---''(_/--' `-'\_)