![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.03.2013
Сообщений: 5
|
![]()
Написать транспонирование матрицы, нужно дописать для него цикл пример цикла который нужен, надеюсь доходчиво объяснил
Код:
Код HTML:
<DOCTYPE HTML!> <html> <head> <title>Практ6</title> <script src="pract8.js"></script> </script> <body onLoad="transpon()";> <div id="matrix0"> </div> <div id="matrix"> </div> <div id="butt"> </div> </body> </html> Код:
|
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
![]() Код HTML:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style> * {font:14px arial,sans-serif;} table { margin:5px 0; border-collapse:collapse; } td { padding:4px; border:1px solid #ccc; } </style> </head> <body> Исходная матрица <table id="matrix"> </table> <button onclick="transpon()">Транспонировать</button> <script> var a = [ ['0x0', '0x1', '0x2', '0x3', '0x4'], ['1x0', '1x1', '1x2', '1x3', '1x4'], ['2x0', '2x1', '2x2', '2x3', '2x4'], ['3x0', '3x1', '3x2', '3x3', '3x4'], ['4x0', '4x1', '4x2', '4x3', '4x4'] ]; var matrix = document.getElementById('matrix'); for (var i=0; i<a.length; i++) { var row = matrix.insertRow(-1); for (var j=0; j < a[i].length; j++) { var NewCell = row.insertCell(-1); NewCell.innerHTML = a[i][j]; } matrix.rows[i].cells[i].style.background = '#abcdef'; } function transpon() { var b = []; a.forEach (function(subArray) { b.push(subArray.concat()); }); for (var i=0; i<a.length; i++) { for (var j=0; j < a[i].length; j++) { b[i][j] = a[j][i]; } } var tranMatrix = document.createElement('table'); for (var i=0; i<b.length; i++) { var row = tranMatrix.insertRow(-1); for (var j=0; j < b[i].length; j++) { var NewCell = row.insertCell(-1); NewCell.innerHTML = b[i][j]; } tranMatrix.rows[i].cells[i].style.background = '#abcdef'; } document.body.appendChild(tranMatrix); } </script> </body> </html> |
![]() |
![]() |
#3 |
Регистрация: 06.03.2013
Сообщений: 5
|
![]()
Написано хорошо, но надо организовать ввод элементов размерности матрицы и его элементов
|
![]() |
![]() |
#4 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
![]()
Ну так организуй.
Alar, верни репу!
|
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 19.01.2015
Сообщений: 158
|
![]()
После выбора размера матрицы, можно щелкать в ячейки пустой таблицы и прямо там набирать.
Код HTML:
<!DOCTYPE html> <html> <head> <title>Транспонирование матрицы</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style> * {font:14px arial,sans-serif;} table {margin:5px 0; border-collapse:collapse;} td { padding:0; border:1px solid #ccc; } td p, #tranMatrix td { margin:0; padding:2px 4px; min-width:20px; min-height:18px; } td p:focus {outline:1px solid #4169E1;} </style> </head> <body onload="setSize()"> Размер матрицы <select id="cboSize"> </select> <button onclick="createMatrix()">Создать</button> <div id="workArea"> </div> <script> function gid(i) {return document.getElementById(i);} function CEL(s) {return document.createElement(s);} function ACH(p,c) {p.appendChild(c);} function setSize() { el = gid('cboSize'); for (var i=2; i<10; i++) {el.options[i-2] = new Option(i +' x '+ i, i);} el.options[3].selected = true; } function createMatrix() { gid('workArea').innerHTML = ''; var size = gid('cboSize').value, i=0, j=0; tbl = CEL('table'); tbl.id = 'matrix'; for (i=0; i < size; i++) { var row = tbl.insertRow(-1); for (j=0; j < size; j++) { var NewCell = row.insertCell(-1); NewCell.innerHTML = '<p tabindex="-1" contenteditable="true"></p>'; //NewCell.innerHTML = '<p tabindex="-1" contenteditable="true">' + i +'x'+ j + '</p>'; /* раскомментировать, если влом набирать значения руками */ } tbl.rows[i].cells[i].style.background = '#FFFACD'; } ACH(gid('workArea'), tbl); var cmd = CEL('button'); cmd.innerHTML = 'Транспонировать'; cmd.onclick = transpon; ACH(gid('workArea'), cmd); } function transpon() { if (gid('tranMatrix')) {gid('workArea').removeChild(gid('tranMatrix'));} var a = [], b = [], i=0, j=0, tbl = gid('matrix'), k = tbl.rows.length; for (i=0; i<k; i++) { a[i] = []; for (j=0; j<k; j++) {a[i][j] = tbl.rows[i].cells[j].children[0].innerHTML;} } a.forEach (function(subArray) { b.push(subArray.concat()); }); for (i=0; i<a.length; i++) { for (j=0; j < a[i].length; j++) {b[i][j] = a[j][i];} } var tranMatrix = CEL('table'); tranMatrix.id = 'tranMatrix'; for (i=0; i<b.length; i++) { var row = tranMatrix.insertRow(-1); for (j=0; j < b[i].length; j++) {row.insertCell(-1).innerHTML = b[i][j];} tranMatrix.rows[i].cells[i].style.background = '#FFFACD'; } ACH(gid('workArea'), tranMatrix); } </script> </body> </html> Последний раз редактировалось SQLPowerUser; 11.06.2015 в 15:22. |
![]() |
![]() |
#6 |
Регистрация: 06.03.2013
Сообщений: 5
|
![]()
Вот, то что мне нужно было. Спасибо большое.
|
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Транспонирование матрицы | iamhated | Помощь студентам | 0 | 14.11.2011 18:59 |
Транспонирование матрицы | sys*.12 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 02.11.2011 13:45 |
транспонирование матрицы | Ислам | Помощь студентам | 3 | 08.06.2011 19:02 |
Транспонирование матрицы | Tatum | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 15.03.2011 19:32 |