Balanced brackets: Difference between revisions

Line 1,947:
 
=={{header|Elena}}==
ELENA 3.01 :
<lang elena>#import system'routines.
#import extensions.
 
randomBrackets =
Line 1,959:
[
var aBrackets :=
Array new &length:(aLength int); set &every: (&indexint:i) [ #^$91 ]
+
Array new &length:(aLength int); set &every: (&indexint:i)[ #^$93 ].
aBrackets := aBrackets randomize:(aLength * 2).
 
^ aBrackets summarize:(String new); literal.
]
]
Line 1,976:
var aCounter := Integer new:0.
self seek &each:aChar (:aChar)[ ^(aCounter += append:(aChar => #$91 [ 1 ]; #$93 [ -1 ])) < 0 ].
^ (0 == aCounter).
]
}
Line 1,984:
program =
[
0 to:9 &doEach: (:aLength)
[
var anStr := randomBrackets new:aLength.
 
console writeLineprintLine:"""":anStr:"""":(anStr isBalanced; iif:" is balanced":" is not balanced").
].
 
console readChar.
].</lang>
{{out}}
Anonymous user