Jump to content

Balanced brackets: Difference between revisions

no edit summary
(add UNIX Shell)
No edit summary
Line 4,558:
[[][]] OK
</pre>
 
 
=={{header|Ya}}==
<lang Ya>
@Balanced[]s
 
;Use @Std/StdIO
 
;`No Shuffle `Char[] brackets
;For; ++brackets
;`Int+ at = Random brackets/Length
;brackets[-1], brackets[at] = brackets[at], brackets[-1]
;`Char[=] MakeNew `Int+ len
;len & 1 ==0 ! // len must be even
;`Char[=] r(len)
;For `Char[] eye = r; eye; ++eye
;*eye = '['
;*++eye = '['
;Shuffle r
;Return r
;Bool AreBalanced `Char[] brackets
;`Int+ extra = 0;
;For; brackets; ++brackets
;Switch *brackets
'['
;++extra
']'
;If !!extra
;Return False
;--extra
;Return !!extra
`Int Main(`Char[][])
;For `Int n=10; n; --n
;`Char[=] brackets = MakeNew 10
;Print ;"%s : %s\n" ;`Char[=] brackets = MakeNew 10 ;(AreBalanced brackets) ? "Ok" : "bad"
;Return 0
</lang>
 
=={{header|zkl}}==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.