Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
53
Task/Balanced-brackets/Seed7/balanced-brackets.seed7
Normal file
53
Task/Balanced-brackets/Seed7/balanced-brackets.seed7
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
$ include "seed7_05.s7i";
|
||||
|
||||
const func string: generateBrackets (in integer: count) is func
|
||||
result
|
||||
var string: stri is "";
|
||||
local
|
||||
var integer: index is 0;
|
||||
var integer: pos is 0;
|
||||
var char: ch is ' ';
|
||||
begin
|
||||
stri := "[" mult count & "]" mult count;
|
||||
for index range 1 to length(stri) do
|
||||
pos := rand(1, length(stri));
|
||||
ch := stri[index];
|
||||
stri @:= [index] stri[pos];
|
||||
stri @:= [pos] ch;
|
||||
end for;
|
||||
end func;
|
||||
|
||||
const func boolean: checkBrackets (in string: test) is func
|
||||
result
|
||||
var boolean: okay is TRUE;
|
||||
local
|
||||
var char: ch is ' ';
|
||||
var integer: open is 0;
|
||||
begin
|
||||
for ch range test do
|
||||
if ch = '[' then
|
||||
incr(open);
|
||||
elsif ch = ']' then
|
||||
if open = 0 then
|
||||
okay := FALSE;
|
||||
else
|
||||
decr(open);
|
||||
end if;
|
||||
end if;
|
||||
end for;
|
||||
okay := open = 0;
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
var integer: n is 0;
|
||||
var integer: count is 0;
|
||||
var string: stri is "";
|
||||
begin
|
||||
for n range 0 to 4 do
|
||||
for count range 1 to 3 do
|
||||
stri := generateBrackets(n);
|
||||
writeln(stri <& ": " <& checkBrackets(stri));
|
||||
end for;
|
||||
end for;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue