Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
|
|
@ -0,0 +1,41 @@
|
|||
#include <basico.h>
|
||||
|
||||
algoritmo
|
||||
|
||||
braizq="[", brader="]" // bug de Hopper :(
|
||||
|
||||
largo de datos=0
|
||||
preparar datos (DATA_BRACKET)
|
||||
obtener tamaño de datos, menos '1', guardar en 'largo de datos'
|
||||
|
||||
iterar
|
||||
|
||||
bra="", obtener dato, guardar en 'bra'
|
||||
|
||||
i=1, b=0, error_pos=""
|
||||
iterar grupo( ++i, #( i<=len(bra) && is not neg (b) ),\
|
||||
#( b += ((bra[i]==braizq) - (bra[i]==brader)) )\
|
||||
#( error_pos = cat(replicate(" ",i-1),"^\n") ) )
|
||||
|
||||
solo si ( #(is pos(b)),\
|
||||
#( error_pos=cat(cat(" ",error_pos),"(missing closed bracket)\n\n")))
|
||||
|
||||
solo si ( #(is neg(b)),\
|
||||
#( error_pos=cat(error_pos,"(extra closed bracket)\n\n")))
|
||||
|
||||
imprimir ( #( rpad(" ",40,bra) ), ": ", \
|
||||
solo si (b, "un"), "balanced\n",\
|
||||
solo si (b, error_pos) )
|
||||
|
||||
mientras ' largo de datos-- '
|
||||
|
||||
terminar
|
||||
|
||||
subrutinas
|
||||
|
||||
DATA_BRACKET:
|
||||
datos ("","[ [ ] [ [[] ][] ] [[]] ]","[[ ][[[ ][ ]]",\
|
||||
"[][][[]]][","][[]][] [[[]]] [][]","[][] [][][[]]",\
|
||||
"[ a-b * [c/d] + [[10 * sin 30 ]-1] ]",\
|
||||
"[ a-b * [c/d] + [[10 * sin 30 ]]-1] ]")
|
||||
back
|
||||
29
Task/Balanced-brackets/EasyLang/balanced-brackets.easy
Normal file
29
Task/Balanced-brackets/EasyLang/balanced-brackets.easy
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
func balanced code$ .
|
||||
for i to len code$
|
||||
h$ = substr code$ i 1
|
||||
if h$ = "["
|
||||
br += 1
|
||||
elif h$ = "]"
|
||||
br -= 1
|
||||
.
|
||||
if br < 0
|
||||
return 0
|
||||
.
|
||||
.
|
||||
return if br = 0
|
||||
.
|
||||
repeat
|
||||
inp$ = input
|
||||
until inp$ = "eof"
|
||||
print inp$ & "\t" & balanced inp$
|
||||
.
|
||||
#
|
||||
input_data
|
||||
|
||||
[]
|
||||
[][]
|
||||
[[][]]
|
||||
][
|
||||
][][
|
||||
[]][[]
|
||||
eof
|
||||
20
Task/Balanced-brackets/MSX-Basic/balanced-brackets.basic
Normal file
20
Task/Balanced-brackets/MSX-Basic/balanced-brackets.basic
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
100 CLS : rem 10 HOME for Applesoft BASIC
|
||||
110 FOR N = 1 TO 7
|
||||
120 READ S$
|
||||
130 IF S$ = "" THEN PRINT"(EMPTY)";: GOTO 150
|
||||
140 PRINT S$;
|
||||
150 PRINT TAB(9);
|
||||
160 GOSUB 190
|
||||
170 NEXT N
|
||||
180 END
|
||||
190 S = 0
|
||||
200 FOR K = 1 TO LEN(S$)
|
||||
210 C$ = MID$(S$,K,1)
|
||||
220 IF C$ = "[" THEN S = S+1
|
||||
230 IF C$ = "]" THEN S = S-1
|
||||
240 IF S < 0 THEN PRINT "NOT OK": RETURN
|
||||
250 NEXT K
|
||||
260 IF S = 0 THEN PRINT " OK": RETURN
|
||||
270 PRINT "NOT OK"
|
||||
280 RETURN
|
||||
290 DATA "", "[]", "][", "[][]", "][][", "[[][]]", "[]][[]"
|
||||
12
Task/Balanced-brackets/Nu/balanced-brackets.nu
Normal file
12
Task/Balanced-brackets/Nu/balanced-brackets.nu
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
def gen_brackets [n: int] { 1..$in | each {["[" "]"]} | flatten | shuffle | str join }
|
||||
|
||||
def check_brackets [] {
|
||||
split chars | reduce --fold 0 {|x, d|
|
||||
if ($d < 0) {-1} else {
|
||||
$d + (if ($x == "[") {1} else {-1})
|
||||
}
|
||||
} | $in > -1
|
||||
}
|
||||
|
||||
|
||||
1..10 | each {gen_brackets $in | {brackets: $in, valid: ($in | check_brackets)}} | print
|
||||
31
Task/Balanced-brackets/SETL/balanced-brackets.setl
Normal file
31
Task/Balanced-brackets/SETL/balanced-brackets.setl
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
program balanced_brackets;
|
||||
setrandom(0);
|
||||
|
||||
loop for length in [1..10] do
|
||||
s := generate length;
|
||||
print(balanced s, s);
|
||||
end loop;
|
||||
|
||||
op generate(n);
|
||||
s := "["*n + "]"*n;
|
||||
loop for i in [n*2, n*2-1..2] do
|
||||
j := 1 + random(i - 1);
|
||||
[s(i), s(j)] := [s(j), s(i)];
|
||||
end loop;
|
||||
return s;
|
||||
end op;
|
||||
|
||||
op balanced(s);
|
||||
depth := 0;
|
||||
loop for c in s do
|
||||
case c of
|
||||
("["):
|
||||
depth +:= 1;
|
||||
("]"):
|
||||
depth -:= 1;
|
||||
if depth<0 then return false; end if;
|
||||
end case;
|
||||
end loop;
|
||||
return depth = 0;
|
||||
end op;
|
||||
end program;
|
||||
26
Task/Balanced-brackets/True-BASIC/balanced-brackets.basic
Normal file
26
Task/Balanced-brackets/True-BASIC/balanced-brackets.basic
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
DIM brk$(10)
|
||||
LET brk$(1) = "[[[][]]]"
|
||||
LET brk$(2) = "[[[]][[[][[][]]]]]"
|
||||
LET brk$(3) = "][][]][["
|
||||
LET brk$(4) = "[][][]"
|
||||
LET brk$(5) = "[][]][]][[]]][[["
|
||||
LET brk$(6) = "]][[[[]]]][]]][[[["
|
||||
LET brk$(7) = "[[][[[]]][]]"
|
||||
LET brk$(8) = "[]][][][[[]]"
|
||||
LET brk$(9) = "][]][["
|
||||
LET brk$(10) = "[]][][][[]"
|
||||
|
||||
FOR i = 1 TO 7
|
||||
LET b$ = brk$(i)
|
||||
DO WHILE POS(b$,"[]") <> 0
|
||||
LET x = POS(b$,"[]")
|
||||
IF x > 0 THEN LET b$ = (b$)[1:x-1] & (b$)[x+2:maxnum]
|
||||
LOOP
|
||||
IF TRIM$(b$) = "" THEN
|
||||
PRINT " OK ";
|
||||
ELSE
|
||||
PRINT "Not OK ";
|
||||
END IF
|
||||
PRINT brk$(i)
|
||||
NEXT i
|
||||
END
|
||||
Loading…
Add table
Add a link
Reference in a new issue