JSFiddle - React, Tailwind, and code Playground
JavaScript
function rand(min,max){
return Math.floor(Math.random()*(max-min+1))+min;
}
var a=b=null,
sizeA = a * a,
sizeB = b * b,
sizeResul = a * b,
n = 0,
arrA = [],
arrB = [],
arrResult = [],
br = 0;
//узнаем размер матрицы
while(a == null) {
var a = +prompt("Размер матрицы A");
if(a < 2 || a > 6) {
alert("Ошибка, введите размер матрицы A снова");
a = null;
};
};
while(b == null) {
var b = +prompt("Размер матрицы B");
if(b < 2 || b > 6) {
alert("Ошибка, введите размер матрицы B снова");
b = null;
};
};
//заполняем массив матрицы данными
for(i = 0; i < a; i++) {
arrA[i] = new Array();
for(j = 0; j < a; j++) {
arrA[i][j] = rand(1,5);//+prompt("Введите " + i + " " + j + " элемент матрицы A");
}
}
for(i = 0; i < b; i++) {
arrB[i] = new Array();
for(j = 0; j < b; j++) {
arrB[i][j] = rand(1,5);//+prompt("Введите " + i + " " + j + " элемент матрицы B");
}
}
//считаем произведение матриц
for(i = 0; i < a; i++) {
arrResult[i] = new Array();
for(k = 0; k < arrA.length; k++) {
for(j = 0; j < b; j++) {
if(!(j in arrResult[i]))
arrResult[i][j]=0;
arrResult[i][j] += (arrA[i][k] * arrB[k][i]);
}
}
}
//выводим результат на экран
var tableA = document.createElement('table');
var str = "";
document.body.innerHTML += "Матрица А: <br>";
for(i = 0; i < a; i++) {
for(j = 0; j < b; j++) {
if(br == a) {
str += "<tr><td>" + arrA[i][j];
br = 1;
} else {
str += "<td>" + arrA[i][j] + "</td>";
br++;
}
tableA.innerHTML = str;
}
}
document.body.appendChild(tableA);
var tableB = document.createElement('table');
str = "";
br = 0;
document.body.innerHTML += "Матрица B: <br>";
for(i = 0; i < b; i++) {
for(j = 0; j < b; j++) {
if(br == b) {
str += "<tr><td>" + arrB[i][j];
br = 1;
} else {
str += "<td>" + arrB[i][j] + "</td>";
br++;
}
tableB.innerHTML = str;
}
}
document.body.appendChild(tableB);
var table = document.createElement('table');
document.body.innerHTML += "<br>Итоговая матрица:...