Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/120: Рейтинг темы: голосов - 120, средняя оценка - 4.55
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125

Создать и вывести на экран матрицу, заполненную случайными числами

06.07.2015, 12:02. Показов 25703. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Помогите, пожалуйста решить задачу, все данные необходимо вывести в таблицу #matrix

вот все что смогла реализовать

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
var arr = [];
for (var i = 0; i < 9; i++) {
    var matrix = getRandom();
    arr.push(matrix);
    document.write(arr[i] + '<br>');
 
}
 
function getRandom(){
    var min = 0;
    var max = 9;
    return Math.floor(Math.random()*(max-min))+min;
}
Добавлено через 15 минут
Обращаю внимание, это многомерный массив. В массиве содержатся два элемента - подмассивы ,каждый с тремя элементами
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2015, 12:02
Ответы с готовыми решениями:

Создать и вывести на экран матрицу 2 x 3, заполненную случайными числами из [0, 9]
Создать и вывести на экран матрицу 2 x 3, заполненную случайными числами из

Сформировать матрицу n*m, заполненную случайными числами
Сформировать на экране матрицу n*m, заполненную случайными числами(используя функцию rnd).

Транспонировать матрицу 3x3 , заполненную числами в диапазоне -3,5.1,5. Вывести на экран исходную и транспонированную матрицы
Транспонировать матрицу 3 , заполненную числами в диапазоне -3,5..1,5. Вывести на экран исходную и транспонированную матрицы Добавлено...

10
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
06.07.2015, 16:15
lilubanana,

HTML5
1
<table id="matrix"></table>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(function () {
    var table = document.createDocumentFragment();
    
    var arr = [];
    for (var i = 0; i < 2; i++) {
        var tr = document.createElement('tr');
        arr[i] = [];
        for(var j = 0; j < 3; j++) {
            var td = document.createElement('td');
            td.innerHTML = arr[i][j] = getRandom();
            tr.appendChild(td);
        }
        table.appendChild(tr);
    }
    document.getElementById('matrix').appendChild(table);
 
    function getRandom(){
        var min = 0;
        var max = 9;
        return Math.floor(Math.random()*(max-min))+min;
    }
})();
https://jsfiddle.net/9Lhv65nu/
2
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125
06.07.2015, 21:01  [ТС]
спасибо!

сделала так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var globalArr = [];
var rowArr = 2;
var colArr = 3;
 
for (var i = 0; i < rowArr; i++) {
    var row = [];
    for(var j = 0; j < colArr; j++){
        var random = getRandom();
        row.push(random);
    }
    globalArr.push(row);
}
function getRandom(){
    var min = 0;
    var max = 9;
    return Math.floor(Math.random()*(max-min))+min;
}
теперь все это надо как-то вывести в таблицу

Добавлено через 2 минуты
whiteapps, у вас все так классно получается!
но я пока не могу понять до конца ваши решения((
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.07.2015, 21:43
lilubanana, умоляю, скажи, почему ты не взяла ПОЛНОСТЬЮ рабочий код, который тебе дали?!
0
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125
06.07.2015, 21:49  [ТС]
Sergio Leone, хочу понять как это делается и сделать это
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.07.2015, 21:54
lilubanana, так почему бы не разобрать тот код, что тебе дали?
он не сложный: простой и красивый!

Если тебе в нём что-то непонятно, спроси, тебе расскажут.
я, например, такой код написать не могу, тямы не хватает, но оценить и объяснить - вполне способен!
1
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125
06.07.2015, 22:03  [ТС]
Sergio Leone, вот сижу и разбираю)
вижу что этот код пока слишком крут для меня. тут использованы различные методы, которые упрощают выполнение кода, но они еще мне не знакомы.

мне задание дано для того, что разобраться, понять саму логику выполнения. т.е. надо написать может и не такой красивый код, но зато показывающий мое понимание работы...
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
06.07.2015, 22:13
Цитата Сообщение от lilubanana Посмотреть сообщение
мне задание дано для того, что разобраться, понять саму логику выполнения. т.е. надо написать может и не такой красивый код, но зато показывающий мое понимание работы...
вот смотри, ты понимаешь, что полученные в массиве случайные числа надо вывести в HTML документ?
Если да, то какой HTML код для вывода своей таблицы ты проектируешь?

вот, например, в случае кода, написанного whiteapps, матрица в HTML коде будет выглядеть так:
HTML5
1
<table id="matrix"><tr><td>5</td><td>0</td><td>2</td></tr><tr><td>2</td><td>6</td><td>1</td></tr></table>
цифры, разумеется случайные и каждый раз будут другие.
но сам HTML код будет такой.

а ты какой HTML код хочешь получить в своём скрипте?
1
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
07.07.2015, 00:59
Лучший ответ Сообщение было отмечено whiteapps как решение

Решение

lilubanana,

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(function () {
    /* createDocumentFragment создает фрагмент документа, но он не будет сразу же вставлен на страницу
        благодаря этому, мы не будем совершать множество операций, по вставке на страницу строк и ячеек,
        а соберем нужный нам фрагмент, и за один раз вставим все нужные элементы 
        совершить одну вставку  гораздо быстрее и эффективнее, так как при каждом изменение страницы, браузер вынужден перерисовывать ее полностью
    */
    var table = document.createDocumentFragment();
    
    var arr = [];
    for (var i = 0; i < 2; i++) {
       /*на каждой интерации первого цикла создаем строку tr */
        var tr = document.createElement('tr');
 
        arr[i] = [];
        for(var j = 0; j < 3; j++) {
       /*на каждой интерации второго цикла создаем ячейку td */
            var td = document.createElement('td');
 
       /* вносим данные в ячейку */
            td.innerHTML = arr[i][j] = getRandom();
 
       /* готовую ячейку с данными добавляем в строку */
            tr.appendChild(td);
        }
 
       /* когда строка заполнена, добавляем ее в созданный нами фрагмент */
        table.appendChild(tr);
    }
/* когда все данные заполнены, ищем на странице элемент с id=matrix
в нашем случае это таблица
и записываем в нее наш фрагмент */
    document.getElementById('matrix').appendChild(table);
 
    function getRandom(){
        var min = 0;
        var max = 9;
        return Math.floor(Math.random()*(max-min))+min;
    }
})();
используемые методы
https://developer.mozilla.org/... ppendChild
https://developer.mozilla.org/... ateElement
https://developer.mozilla.org/... /innerHTML
https://developer.mozilla.org/... ntFragment
3
 Аватар для lilubanana
64 / 1 / 2
Регистрация: 25.04.2014
Сообщений: 125
07.07.2015, 09:47  [ТС]
Sergio Leone, я вообще думала полностью верстку создать "на лету" в коде, т.е. без внесения разметки в html файл
как-то так:

JavaScript
1
2
3
4
5
6
var table = '<table>';
for (var i = 0; i < rowArr; i++) {
    table += '<tr>';
 
    table += '</tr>';
}

whiteapps, спасибо большое за подробное объяснение

Добавлено через 1 час 17 минут
сделала так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var rowArr = 2;
var colArr = 3;
 
var table = '<table class="blablabal">';
 
for (var i = 0; i < rowArr; i++) {
    table += '<tr>';
    for(var j = 0; j < colArr; j++){
        table += '<td>' + getRandom() + '</td>';
    }
    table += '</tr>';
}
table += '</table>';
$('body').append(table);
 
 
function getRandom(){
    var min = 0;
    var max = 9;
    return Math.floor(Math.random()*(max-min))+min;
}
1
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
07.07.2015, 10:00
lilubanana, JQ ради одной строки подключаете?)

Уже коли есть JQ, то используйте "по полной";

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var rowArr = 2;
var colArr = 3;
 
var table = $('<table class="blablabal">');
 
for (var i = 0; i < rowArr; i++) {
    var tr = $('<tr>');
    for(var j = 0; j < colArr; j++){
        var td = $('<td>').text( getRandom() );
        tr.append(td);
    }
    table.append(tr);
}
 
$('body').append(table);
 
 
function getRandom(){
    var min = 0;
    var max = 9;
    return Math.floor(Math.random()*(max-min))+min;
}
Доказательства, что работает
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2015, 10:00
Помогаю со студенческими работами здесь

Получить матрицу размера n*m, заполненную случайными действительными числами от 0 до 25
Получить матрицу размера n*m, заполненную случайными действительными числами от 0 до 25. Указать элементы с наибольшим значением в...

Заполнить исходную матрицу случайными числами из диапазона от -50 до 50. Вывести матрицу на экран
Заполнить исходную матрицу случайными числами из диапазона от -50 до 50. Вывыести матрицу на экран. Помогите пожалуйста.

Создать и вывести на экран матрицу типа char, заполненную заданными символами
Сформировать двумерный массив A, содержащий символ «*» в соответствии с варианта; размерность массива n задается пользователем

Заполнить матрицу случайными числами и вывести на экран
Составить программу,заполняющую двумерный массив,состоящий из 8 строк и 10 столбцов случайными числами,и выводящую его на экран в форме...

Заполнить матрицу случайными числами и вывести на экран максимальный элемент
Написать матрицу 3х5 заполнить ее датчиком случайных чисел, вывести на экран, а потом вывести на экран максимальный элемент матрицы, а так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru