⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d7r6.frm

📁 常用的数值算法的VB程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   6720
   ClientLeft      =   2055
   ClientTop       =   1140
   ClientWidth     =   6765
   LinkTopic       =   "Form1"
   ScaleHeight     =   6720
   ScaleWidth      =   6765
   Begin VB.CommandButton Command1 
      Caption         =   "Command1"
      Height          =   375
      Left            =   4680
      TabIndex        =   0
      Top             =   6120
      Width           =   1335
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
    'PROGRAM D7R6
    'Driver for routine INDEXX
    Dim A(100), INDX(100)
    Open "D:\VB常用数值算法集\DATA\TARRAY.DAT" For Input As #2
    For I = 1 To 10
      Line Input #2, DUM$
      For J = 1 To 10
        A(10 * (I - 1) + J) = Val(Mid(DUM$, 6 * J - 5, 6))
      Next J
    Next I
    Close (2)
    'Generate index for sorted array
    Call INDEXX(100, A(), INDX())
    'Print Original array
    Print "Original array:"
    For I = 1 To 10
      For J = 1 To 10
        Print Tab(7 * (J - 1) + 2); Format$(A(10 * (I - 1) + J), "###.#0");
      Next J
      Print
    Next I
    'Print sorted array
    Print "Sorted array:"
    For I = 1 To 10
      For J = 1 To 10
        Print Tab(7 * (J - 1) + 2); Format$(A(INDX(10 * (I - 1) + J)), "###.#0"); "  ";
      Next J
      Print
    Next I
End Sub
Sub INDEXX(N, ARRIN(), INDX())
    For J = 1 To N
        INDX(J) = J
    Next J
    If N = 1 Then Exit Sub
    L = Int(N / 2 + 1)
    IR = N
    Do
      If L > 1 Then
          L = L - 1
          INDXT = INDX(L)
          Q = ARRIN(INDXT)
      Else
          INDXT = INDX(IR)
          Q = ARRIN(INDXT)
          INDX(IR) = INDX(1)
          IR = IR - 1
          If IR = 1 Then
              INDX(1) = INDXT
              Exit Sub
          End If
      End If
      I = L
      J = L + L
      While J <= IR
          If J < IR Then
            If ARRIN(INDX(J)) < ARRIN(INDX(J + 1)) Then J = J + 1
          End If
          If Q < ARRIN(INDX(J)) Then
            INDX(I) = INDX(J)
            I = J
            J = J + J
          Else
            J = IR + 1
          End If
      Wend
      INDX(I) = INDXT
    Loop
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -