Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var input = document.getElementById('table');
- var output = document.getElementById('output');
- function recalculate() {
- output.innerHTML = '';
- try {
- var matrix = input.value.split('\n').map(row => {
- return row.split(' ').map(item => {
- if (item == '0' || item == '1')
- return item == '1';
- throw "Ошибка разбора";
- });
- });
- if (!matrix.every(row => matrix.length == row.length))
- throw "Неправильный формат матрицы";
- }
- catch (e) {
- alert(e);
- }
- output.innerHTML = '<table>' +
- '<tr><td>Рефлексивность:</td><td>' + (checkReflexive(matrix) ? '☑' : '☐') + '</td></tr>' +
- '<tr><td>Транзитивность:</td><td>' + (checkTransitive(matrix) ? '☑' : '☐') + '</td></tr>' +
- '<tr><td>Симметричность:</td><td>' + (checkSymmetric(matrix) ? '☑' : '☐') + '</td></tr>' +
- '</table>';
- }
- function checkReflexive(matrix) {
- for (var i = 0; i < matrix.length; ++i) {
- if (!matrix[i][i])
- return false;
- }
- return true;
- };
- function checkTransitive(matrix) {
- for (var i = 0; i < matrix.length; ++i) {
- for (var j = 0; j < matrix.length; ++j) {
- for (var k = 0; k < matrix.length; ++k)
- if (matrix[i][j] && matrix[j][k] && !matrix[i][k])
- return false;
- }
- }
- return true;
- };
- function checkSymmetric(matrix) {
- for (var i = 0; i < matrix.length; ++i) {
- for (var j = i + 1; j < matrix.length; ++j)
- if (matrix[i][j] != matrix[j][i])
- return false;
- }
- return true;
- };
- function defaultReflexive() {
- input.value = [
- [1, 0, 1, 0, 0],
- [0, 1, 0, 0, 0],
- [0, 0, 1, 0, 0],
- [1, 0, 0, 1, 0],
- [0, 0, 0, 0, 1],
- ].map(row => row.join(' ')).join('\n');
- }
- function defaultSymmetric() {
- input.value = [
- [0, 0, 1, 0, 0],
- [0, 0, 0, 1, 1],
- [1, 0, 0, 1, 0],
- [0, 1, 1, 0, 0],
- [0, 1, 0, 0, 0],
- ].map(row => row.join(' ')).join('\n');
- }
- function defaultTransitive() {
- input.value = [
- [0, 1, 1, 1, 1],
- [0, 0, 1, 0, 0],
- [0, 0, 0, 0, 0],
- [0, 0, 0, 0, 1],
- [0, 0, 0, 0, 0],
- ].map(row => row.join(' ')).join('\n');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement