Для чего создается одномерный массив в этой строчке?
var arr = new Array(); /*матрица*/
for (var i=1; i<=columns; i++){
arr[i]=new Array();
for (var j=1; j<=rows; j++){
do{
arr[i][j]=prompt("введите "+i+","+j+" элемент:"); /*ввод элементов*/
if (arr[i][j].replace(/\d/g,'').length) {alert("Vведенное значение не число");}/*проверка на буквы*/
}
while(arr[i][j].replace(/\d/g,'').length)/*условие проверки*/
}
}
вот эта строчка
arr[i]=new Array();