Vb6 visualbasic6.0中的幻方误差

Vb6 visualbasic6.0中的幻方误差,vb6,magic-square,Vb6,Magic Square,我正在用VisualBasic6.0开发一个程序来显示幻方。我已经开发了逻辑,但是值没有显示在幻方中。代码如下: Private Sub Command1_Click() Dim limit As Integer Dim a(100, 100) As Integer limit = InputBox("Enter the limit") If limit Mod 2 = 0 Then ' Rows and columns must be MsgBox "Can't be

我正在用VisualBasic6.0开发一个程序来显示幻方。我已经开发了逻辑,但是值没有显示在幻方中。代码如下:

Private Sub Command1_Click()
  Dim limit As Integer
  Dim a(100, 100) As Integer
  limit = InputBox("Enter the limit")
  If limit Mod 2 = 0 Then ' Rows and columns must be
    MsgBox "Can't be done", vbOKCancel, "Error"
  Else ' set number of rows and columns to limit
    mfgsquare.Rows = limit
    mfgsquare.Cols = limit
    j = (n + 1) / 2
    i = 1
    For c = 1 To n * n
      mfgsquare.TextMatrix(i, j) = c
      If c Mod n = 0 Then
        i = i + 1
        GoTo label
      End If
      If i = 1 Then
        i = n
      Else
        i = i - 1
      End If
      If j = n Then
        j = 1
      Else
        j = j + 1
      End If
label:
    Next c
  End If
End Sub
试试这个:

  n = InputBox("Enter the limit")
  If n Mod 2 = 0 Then ' Rows and columns must be
    MsgBox "Can't be done"
  Else ' set number of rows and columns to limit
    mfgsquare.Rows = n + 1
    mfgsquare.Cols = n + 1
    For i = 1 To n
        For j = 1 To n
            mfgsquare.TextMatrix(i, j) = n * ((i + j - 1 + Int(n / 2)) Mod n) + ((i + 2 * j - 2) Mod n) + 1
        Next j
    Next i
  End If

你用调试器检查过了吗?@Rob我已经检查过了。但现在的错误是数组索引超出了范围