Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Basic Powerbasic > Function does n...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 4 Topic 256 of 266
Post > Topic >>

Function does not return correct value

by "Anonymous" <r1a@[EMAIL PROTECTED] > Oct 22, 2007 at 06:59 PM

Hello,

In the code below the "BinarySearch" function returns 0, although it is 
assigned a value of 8.
Anyone any idea?
--

#COMPILER PBCC 4.04
#COMPILE EXE
#DIM ALL
#DEBUG ERROR ON
#TOOLS ON
'-----------------------------------------------------------------------------------------
FUNCTION BinarySearch(i() AS LONG,BYVAL a AS LONG,BYVAL b AS LONG,BYVAL
Find 
AS LONG) AS LONG

  TRY
    REGISTER m AS LONG
    LOCAL t AS LONG PTR

    t = VARPTR(i(0))

    IF b - a <= 0 THEN FUNCTION = -1:EXIT FUNCTION

    m = (a+b)/2
    IF Find = @[EMAIL PROTECTED]
 THEN
      PRINT m 'm has the correct value here(8),but the function returns 0
      BinarySearch = m
    ELSEIF Find < @[EMAIL PROTECTED]
 THEN
      BinarySearch i(),a,m,Find
    ELSE
      BinarySearch i(),m+1,b,Find
    END IF
  CATCH
    ? "Error:" + STR$(ERR)
  END TRY
END FUNCTION
'-----------------------------------------------------------------------------------------
FUNCTION BinSearch(t() AS LONG,BYVAL n AS LONG,BYVAL Find AS LONG) AS LONG
  LOCAL Retv AS LONG
  Retv = BinarySearch(t(),0,n,Find) ' Retv = 0.Should be 8
  BinSearch = Retv
END FUNCTION
'-----------------------------------------------------------------------------------------
FUNCTION PBMAIN () AS LONG
  LOCAL Find,i AS LONG
  DIM ary(0:9) AS LOCAL LONG

  FOR i = 0 TO UBOUND(ary())
    ary(i) = i
  NEXT i

  Find = 8
  PRINT BinSearch(ary(),UBOUND(ary()),Find) 'Should print 8, but prints 0
  WAITKEY$
END FUNCTION




 4 Posts in Topic:
Function does not return correct value
"Anonymous" <  2007-10-22 18:59:24 
Re: Function does not return correct value
"Auric__" <n  2007-10-22 17:41:06 
Re: Function does not return correct value
"Anonymous" <  2007-10-22 20:59:28 
Re: Function does not return correct value
Peter Manders <news@[E  2007-10-22 20:43:57 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed May 14 3:29:39 CDT 2008.