45 lines
968 B
Plaintext
45 lines
968 B
Plaintext
Dim Shared As Byte r, n = 1
|
|
Dim Shared As String IN1, OU1
|
|
Dim Shared As String IN(6), OU(6)
|
|
Dim As Byte i, j, k
|
|
For i = 0 To 6 : Read IN(i) : Next i
|
|
Data "violet", "red", "green", "indigo", "blue", "yellow", "orange"
|
|
OU(0) = IN(0)
|
|
|
|
Sub PrintOrder
|
|
Print : Print "{";
|
|
If n = 1 Then Print OU(n-1);")" : Exit Sub
|
|
For q As Byte = 0 To n-2
|
|
Print OU(q);", ";
|
|
Next q
|
|
Print OU(n-1);"}"
|
|
End Sub
|
|
|
|
Sub InteractiveCompare
|
|
Dim As String*1 T
|
|
Print "Es "; IN1; " < "; OU1; "? (S/N) ";
|
|
Do: T = Inkey$: Loop Until T <> ""
|
|
If Instr("snSN", T) Then Print Ucase(T)
|
|
r = T = "S"
|
|
End Sub
|
|
|
|
For i = 1 To 6
|
|
IN1 = IN(i)
|
|
For j = 0 To n-1
|
|
OU1 = OU(j)
|
|
InteractiveCompare
|
|
If r < 0 Then
|
|
For k = n To j+1 Step -1
|
|
OU(k) = OU(k-1)
|
|
Next k
|
|
OU(j) = IN1
|
|
n += 1
|
|
Exit For, For
|
|
End If
|
|
Next j
|
|
OU(n) = IN1
|
|
n += 1
|
|
Next i
|
|
PrintOrder
|
|
Sleep
|