' VB6 Form1.frm

Option Explicit

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Command1_Click()
    Const MAXDIM As Integer = 30000
    Dim sum As Double
    sum = 0#

    Dim dm(MAXDIM - 1) As Double

    Dim i As Integer, j As Integer
    Dim temp As Double

    For i = 0 To MAXDIM - 1
      dm(i) = Rnd
    Next

    Dim tstart As Long
    tstart = GetTickCount

    For i = 0 To MAXDIM - 1
      j = MAXDIM - i - 1
      dm(i) = dm(i) * dm(j) + 1
    Next

    For i = 0 To MAXDIM - 1
        j = MAXDIM - 1
        Do While j > i
            If dm(i) > dm(j) Then
                temp = dm(i)
                dm(i) = dm(j)
                dm(j) = temp
            End If
            j = j - 1
        Loop
    Next

    For i = 0 To MAXDIM - 1
        j = MAXDIM - i - 1
        dm(i) = dm(i) * dm(j) - 1
    Next

    For i = 0 To MAXDIM - 1
        sum = sum + dm(i)
    Next

    Dim tend As Long
    tend = GetTickCount

    Dim result As String
    result = "VB6" & vbCrLf & "SUM = " & sum & " : elpased = " & tend - tstart
    Text1.Text = result

End Sub
