Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена строк в массиве! Нужна помощь в коде! (https://javascript.ru/forum/misc/78532-zamena-strok-v-massive-nuzhna-pomoshh-v-kode.html)

Ollp 28.09.2019 12:24

Замена строк в массиве! Нужна помощь в коде!
 
Всем доброго времени суток! Появилась проблема при написании кода по вот такой задаче: "Ввести двумерный массив с клавиатуры. Заменить в массиве L-ую и К-ую строку. Номера заменяемых строк ввести с клавиатуры."
Сам пока что дошел только до вот такого кода:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>JavaScript</title>
</head>
<body>
<script>

var T = prompt("Введите количество столбцов: ");
if (T.replace(/\s/g, '').length === 0 || isNaN(T) || T < 0) {
  alert('ERROR!! ERROR!!');
  exit();
}
var S = prompt("Введите количество строк: ");
if (S.replace(/\s/g, '').length === 0 || isNaN(S) || S < 0) {
  alert('ERROR!! ERROR!!');
  exit();
}
var mas = [];
var oi, oj;
for (var i = 0; i < T; i++){
       oi=i+1;
       mas[i] = [];
       for (var j = 0; j < S; j++){
	   oj=j+1;
       mas[i][j] = +prompt("Введите значение "+ oj +"-ого элемента "+ oi +"строки");
}
}
document.write("Полученный массив: ")
for(var i=0; i < T; ++i) {
document.write("<br>")
for(var j=0; j < S; ++j) {
    document.write("|"+mas[i][j]+"|")
}

	}
	document.write("<br>")
var tt,ss;
var sohr = [];
alert("Какие строки заменить?");
tt = prompt("Введите номер первой строки");
ss = prompt("Введите номер второй строки");
document.write("Полученный массив с замененными строками: ")
var jo;
for(var i=0; i < T; ++i) {
document.write("<br>")
for(var j=0; j < S; ++j) {
if (j=tt){
jo=j;
j=ss;
document.write("|"+mas[i][j]+"|")
j=jo;}
if (j=ss){
jo=j;
j=tt;
document.write("|"+mas[i][j]+"|")
j=jo;
}
document.write("|"+mas[i][j]+"|")
	}
}
</script>
</body>
</html>

Буду благодарен всем кто поможет разобраться в проблеме!

рони 28.09.2019 13:50

Ollp,
<script>

var T;
do {
    T = +prompt("Введите количество столбцов: ");
}
while (isNaN(T) || T < 0)
var S;
do{
    S = +prompt("Введите количество строк: ");
}
while (isNaN(S) || S < 0)
var mas = [];
for (var i = 0; i < S; i++){
       mas[i] = [];
       for (var j = 0; j < T; j++){

       mas[i][j] = +prompt("Введите значение "+ (j + 1)+"-ого элемента "+ (i+1) +"строки");
}
}
document.write("Полученный массив: " + JSON.stringify(mas, "", 4))

alert("Какие строки заменить?");
var tt = +prompt("Введите номер первой строки"),
    ss = +prompt("Введите номер второй строки"),
    temp = mas[tt];
    mas[tt] = mas[ss];
    mas[ss] = temp;

document.write("Полученный массив с замененными строками: " + tt +" и " + ss + JSON.stringify(mas, "", 4))

</script>


Часовой пояс GMT +3, время: 01:42.