RosettaCodeData/Task/Non-continuous-subsequences/FreeBASIC/non-continuous-subsequences...

34 lines
1.0 KiB
Plaintext

Sub Subsecuencias_no_continuas(l() As String)
Dim As Integer i, j, g, n, r, s, w
Dim As String a, b, c
n = Ubound(l)
For s = 0 To n-2
For g = s+1 To n-1
a = "["
For i = s To g-1
a += l(i) + ", "
Next i
For w = 1 To n-g
r = n+1-g-w
For i = 1 To 2^r-1 Step 2
b = a
For j = 0 To r-1
If i And 2^j Then b += l(g+w+j) + ", "
Next j
'Print Left(Left(b)) + "]"
c = (Left(b, Len (b)-1))
Print Left(c, Len(c)-1) + "]"
Next i
Next w
Next g
Next s
End Sub
Dim lista1(3) As String = {"1", "2", "3", "4"}
Print "Para [1, 2, 3, 4] las subsecuencias no continuas son:"
Subsecuencias_no_continuas(lista1())
Dim lista2(4) As String = {"e", "r", "n", "i", "t"}
Print "Para [e, r, n, i, t] las subsecuencias no continuas son:"
Subsecuencias_no_continuas(lista2())
Sleep