Balanced brackets: Difference between revisions

Content added Content deleted
Line 2,761: Line 2,761:
return errorIndex(strBrackets.split(''), 0, 0);
return errorIndex(strBrackets.split(''), 0, 0);
}
}
// GENERIC
// GENERIC


Line 2,774: Line 2,775:


// TESTING AND FORMATTING OUTPUT
// TESTING AND FORMATTING OUTPUT

// nreps :: String -> Int -> String
function nreps(s, n) {
var o = '';
if (n < 1) return o;
while (n > 1) {
if (n & 1) o += s;
n >>= 1;
s += s;
}
return o + s;
}


var lngPairs = 6,
var lngPairs = 6,
strPad = nreps(' ', lngPairs * 2 + 3);
strPad = Array(lngPairs * 2 + 4).join(' ');


return range(0, lngPairs)
return range(0, lngPairs)
Line 2,799: Line 2,788:
return "'" + s + "'" + strPad.slice(w + 2) +
return "'" + s + "'" + strPad.slice(w + 2) +
(blnOK ? 'OK' : 'problem') +
(blnOK ? 'OK' : 'problem') +
(blnOK ? '' : '\n' + nreps(' ', i + 1) + '^');
(blnOK ? '' : '\n' + Array(i + 2).join(' ') + '^');
})
})
.join('\n');
.join('\n');
})();
})();</lang>
</lang>


Sample output:
Sample output: