有两个数组a(9),b(9)   .数组里面的10个数,范围为0~256里面的任意数。 a数组里面的数递增;
 a(9)="10,15,20,30,35,40,45,100,200,250"   
 b(9)="5 ,25,50,55,65,70,80, 90,150,225"
把两数组里面数。比喻为平面坐标上的X坐标与Y坐标。模拟算法如下:        |a(0)| 
tg @ = ------
        |b(0)|
     int k;
        k=1;
for int i=0 to |a(0)-1|   
                     i 
         array(k)=-------
                    tg @
        k=k+1;
         i=i+1;
next'  i=1,2,3,4,5,6,7,8,9
'循环for int Q=0 to 9
        |a(Q+1) - a(Q)|
ty @ = -----------------
        |b(Q-1) - b(Q)|      for int i=a(Q) to a(Q+1)-1                                     i
            array(k)=--------------
                          tg @
                k=k+1 
              i=i+1     
      next
        '比喻第一次循环.i=10,11,12,13,........,(15-1)
        
        '第二次是       i=15,16,17,18,.........,(20-1)
           3            i=20,...................,(30-1)
             :
             :
           9            i=200,..................,(250-1)
    Q=Q+1next
           |255-a(9)| 
tg @ =-----------
      |255-b(9)|
 
for  int i=a(9) to 256
                      i
        array(k)=------------
                    fg @
           k=k+1
          i=i+1
next
'最后一次是:       i=250,251,.........256得到这个数组array(256)这个数组里面的256个数.求这个array数组;
写成动态链接库???

解决方案 »

  1.   

    楼主发错地方了,应该发到VC版呵     int k;
            k=1;
    for int i=0 to |a(0)-1|   
                         i 
             array(k)=-------
                        tg @
            k=k+1;
             i=i+1;狂晕~~~~~~~
      

  2.   

    呵呵大梦恭喜你通过笔试呀!!!什么时候庆祝一下呀~~
    对了大梦没有人知道你要干什么哟??
     你既然算法都写好了,在vb中建一个ActiveX Dll 工程
    把这一堆的东西搬上去,用一个function 包起来不就完了
    Function BUZHISUOYUN(integer Obj) as integer 
    ................
    大梦算法
    ................
    End Function
      

  3.   

    算法出来了
    我昨天想了一晚上写出来了
    我今天编Activex Dll工程。。
    大家也一起试。,
    相互学习学习。..,.......Dim a(9) As Integer
    Dim b(9) As Integer
    Dim var(11)
    Dim i As Integer
    Dim k As Integer
    Dim Q As Integer
    Dim myarray()
    Dim vararray() As Integer
    '***************************************************************
    '根据a与b的比例,同a=0  to 256 求相应b的256个数
    a(0) = 10
    a(1) = 20
    a(2) = 50
    a(3) = 80
    a(4) = 100
    a(5) = 120
    a(6) = 150
    a(7) = 160
    a(8) = 200
    a(9) = 250b(0) = 30
    b(1) = 40
    b(2) = 50
    b(3) = 60
    b(4) = 80
    b(5) = 100
    b(6) = 120
    b(7) = 150
    b(8) = 180
    b(9) = 200k = 0
    ' var=b/a
    ' 当a=1,2,3,4,5,
    'b=var*avar(0) = b(0) / a(0)
    ReDim Preserve MyArray(a(0) - 1)
    For i = 0 To a(0) - 1
        MyArray(k) = var(0) * i'  Text1.Text = Text1.Text & ",  " & MyArray(k)
    ' textbox 是为了看第一阶段里面数组  
        k = k + 1
    Next i
     ReDim Preserve MyArray(a(9))For Q = 1 To 9
      var(Q) = Abs(b(Q) - b(Q - 1)) / Abs(a(Q) - a(Q - 1))
      For i = a(Q - 1) To a(Q) - 1
      
               MyArray(k) = var(Q) * (i - a(Q - 1)) + b(Q - 1)
          '      Text2.Text = Text2.Text & ", " & MyArray(k)
          '       text2box是为了看第二阶段的数组 
             k = k + 1
       Next i
    Next Q
    ReDim Preserve MyArray(256)var(10) = 256 - b(9) / 256 - a(9)
    For i = a(9) To 256
        
         MyArray(k) = var(10) * (i - a(9)) + b(9)
        '     Text3.Text = Text3.Text & ", " & MyArray(k)
        '     text3box是为了看第三阶段的数组 
           k = k + 1
             
        Next i'根据a与b的比例,同a=0  to 256 求相应b的256个数
    '***************************************************************MyArray(k)这个数组里面有  256个数现传进一个值X让X与这个MyArray(k)数组里面的数逐个比较。。与相等。。则,求出这个k的值。。传出。。
      算法如下:
           for i=0 to 256 
               if MyArray(i)=X  then
                   传出这个 i ..
                  exit function
                 end if 
             next i
           MsgBox "sorry ,您所传的数,不在数组中。", vbCritical, "sorry"
       end function
      

  4.   

    大家把这个复制到VB中,就可以了。不要忘记了。在公共类中申明。
    Public MyArray()
    Public VarArray() As Integer
      

  5.   

    我等会。把我自己编写出来的Activex Dll工程贴出来。大家帮我指出错误也想看看各位编写的。。谢谢了送分。