Permutations: Difference between revisions

Line 2,246:
 
=={{header|PowerBASIC}}==
<lang powerbasic>#COMPILE EXE
#COMPILE EXE
#DIM ALL
GLOBAL a, i, j, k, n AS INTEGER
GLOBAL da, nsi, sj, ASk, STRINGn 'dynamic stringAS INTEGER
GLOBAL d, ns, s AS STRING 'dynamic string
FUNCTION PBMAIN () AS LONG
ns = INPUTBOX$(" n =",, "3") 'input n
n = VAL(ns)
DIM a(1 TO n) AS= INTEGERVAL(ns)
FOR i =DIM a(1 TO n: a(i)= i:AS NEXTINTEGER
FOR i = 1 TO n: a(i)= i: NEXT
DO
s = " "
FOR i = 1 TO n
d = STR$(a(i))
s = BUILD$(s, d) ' s & d concatenate
NEXT
? s 'print and pause
i = n
DO
DECR is = " "
LOOP UNTIL FOR i = 01 ORTO a(i) < a(i+1)n
j d = STR$(a(i+1))
s = BUILD$(s, d) ' s & d concatenate
k = n
DO WHILE j < kNEXT
? s 'print and pause
SWAP a(j), a(k)
INCRi j= n
DECR kDO
DECR i
LOOP
IF LOOP UNTIL i >= 0 THENOR a(i) < a(i+1)
j = i+1
DOk WHILE= a(j) < a(i)n
DO WHILE j < k
SWAP a(j), a(k)
INCR j
DECR k
LOOP
SWAPIF a(i), a(j)> 0 THEN
j = i+1
END IF
DO WHILE a(j) < a(i)
LOOP UNTIL i = 0
INCR j
END FUNCTION</lang>
LOOP
d = STR$(SWAP a(i), a(j)
s = "END "IF
LOOP UNTIL i = 0
END FUNCTION</lang>
 
=={{header|Prolog}}==
Anonymous user