Не знаю почему, но программы не работает.
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<section class="lib" id="oms_blok1">
<h2 style="text-align: center;">Решение методом Закревского</h2>
<div class="calc" id="frtabl">
Размер матрицы:
<select onchange="oms_mhwA(this.value)">
<option value="2" selected="selected">2×2</option>
<option value="3">3×3</option>
<option value="4">4×4</option>
<option value="5">5×5</option>
<option value="6">6×6</option>
<option value="7">7×7</option>
</select>
<p>Выберете размерность матрицы, после введите значения Матрицы A:</p>
<div class="matrix"></div>
<script>
function oms_mhwA(el) {
var matrix = document.querySelector('.matrix');
matrix.innerHTML = '';
for (var i = 0; i < el; i++) {
for (var k = 0; k < el; k++) {
matrix.innerHTML += '<input type="text" value="0">'
}
matrix.innerHTML += '<br>'
}
}
</script>
<p style="text-align: center;">
<b>A</b>
<input onclick="oms_zakr();" type="button" value="=" title="Найти минимальное покрытие матрицы">
</p>
<script>
function oms_zakr(el) {
function sot(aot) {
return aot.reduce(function (aot, bot) {
return aot + bot
}, 0)
}
function cot(aot) {
return aot[0].reduce(function (eot, bot, got) {
eot[got] = [];
for (bot = 0; bot < aot.length; bot++) eot[got].push(aot[bot][got]);
return eot
}, {})
}
function fnot(aot, eot) {
return Object.keys(aot).sort(function (bot, got) {
return eot ? sot(aot[got]) - sot(aot[bot]) : sot(aot[bot]) - sot(aot[got])
})[0]
}
function rot(aot, eot) {
return eot.reduce(function (bot, eot, hot) {
eot && (bot[hot] = aot[hot]);
return bot
}, {})
}
function ffot(aot, eot) {
return aot.map(function (aot) {
return aot.filter(function (aot, bot) {
return 0 == eot[bot]
})
})
}
function print(aot, eot, bot) {
aot = aot.reduce(function (aot, bot) {
return aot + "<div>" + JSON.stringify(bot) + "</div>"
}, eot);
document.body.insertAdjacentHTML("beforeEnd", aot + bot)
}
var mot = el,
temp = "абвгдежзи".split("");
temp.length = mot.length;
for (var res = []; 2 < mot.length;) {
print(temp, "", "");
print(mot, "", "");
var dot = cot(mot),
not = fnot(dot),
tot = dot[not],
fot = rot(mot, tot),
kot = fnot(fot, !0);
res.push(temp.splice(kot, 1)[0]);
var vot = mot.splice(kot, 1)[0];
mot = ffot(mot, vot)
}
print([res.sort()], "<b>", "</b>");
}
</script>
</div>
</section>
</body>
</html>