Private Sub guanghua1()
Dim x1!, y1!, x2%, y2!, a As Variant, j%, b%(42), i%
    a = Array(86, 87, 82, 67, 61, 59, 86, 77, 76, 99, 108, 169, _
                       151, 243, 274, 347, 417, 547, 735, 814, 820, 1051, 1091, 1142, _
                       1127, 1012, 940, 810, 705, 593, 431, 346, 239, 192, 130, 95, 53, 32, 14, 11, 7)
    Picture1.Cls
    Picture1.DrawStyle = 0
    x1 = 200: y1 = Picture1.ScaleHeight - 200
    x2 = Picture1.ScaleWidth - 200: y2 = 200
    Picture1.Line (x1, y1)-(x2, y1)         'x
    Picture1.Line (x1, y2)-(x1, y1)         'y
    For j = 1 To 42
        b(j) = 129 + i
    Next j
   For i = 1 To 42
     Picture1.PSet (b(i), a(i)), vbRed
   Next i
   顺便在问一下 ,图片框里给定的坐标系上打出 b(i),a(i) 绘出函数图像啊!。啊啊啊 啊啊想了好久,,,

解决方案 »

  1.   

    a a a == =求救啊啊啊
      

  2.   

        For j = 1 To 42
          b(j)  = 129 + i
        Next j
    其中 i 没有赋值,始终 =0,因此,   b(j) 也始终 = 129,估计问题就在这里。
      

  3.   

    Option Base 1
    这个代码里面有的,我少打上去了,对不起了各位大神 ,关于楼上所说的 我改了一下变成了j但是显示
        Picture1.PSet (b(i), a(i)), vbRed
    下标越界
      

  4.   

    “多一少一”问题占程序员常犯错误的10%以上!
    避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,掰手指头心算验证一下程序到底应该写为
    x、x-1、x+1中的哪个?
    <、<=、==、>、>=中的哪个?
      

  5.   

      For j = 1 To 42
            b(j) = 129 + i
        Next j
       For i = 1 To 42
         Picture1.PSet (b(i), a(i)), vbRed
       Next i
    ‘修改为:
      For j = 0 To 41
            b(j) = 129 + j
        Next j
       For i = 0 To 41
         Picture1.PSet (b(i), a(i)), vbRed
       Next i
    a = Array(86, 87, 82, 67, 61, 59, 86, 77, 76, 99, 108, 169, _
                           151, 243, 274, 347, 417, 547, 735, 814, 820, 1051, 1091, 1142, _
                           1127, 1012, 940, 810, 705, 593, 431, 346, 239, 192, 130, 95, 53, 32, 14, 11, 7)
    'a数组是(0 To 41)