С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 07.04.2020
Сообщений: 16

Создание двухмерного массива в js и работа с ним

23.04.2022, 10:39. Показов 1276. Ответов 19

Студворк — интернет-сервис помощи студентам
Доброе утро уважаемые пользователи. Уже несколько часов пытаюсь выполнить не сложную задачу в js. Нужно создать двухмерный массив размером 5x3 и найти произведение всех отрицательных чисел массива. На данный момент я только написал код для создания двухмерного массива. Кто поможет помочь как можно выполнить произведение отрицательных чисел массива. Буду благодарен. А пока мой код выглядит так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head><title>Произвидение отрицательных чисел массива</head></title>
<h2>Произвидение отрицательных чисел двухмерного массива</h2>
<script>
var a = [],i,j;
for (i=0; i<5; i++){
    a[i] = new Array();
    for (j=0; j<3; j++){
        a[i][j] =Math.round(Math.random()*120-20);
        document.write(a[i][j]+"<br>");
        }
        }
for (a...
</script>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2022, 10:39
Ответы с готовыми решениями:

Массивы. Правильно составление двухмерного массива и работа с ним
int N = 3; int M = 4; string mas = new string; dataGridView1.RowCount = N; ...

Создание двумерного массива и работа с ним
создать двумерный массив размерностью (n,n),отсортировать таким образом,что бы поменялись элементы за диагональю:(т.е. элементы диагонали...

Создание динамического массива объектов «Поезд» и работа с ним
Класс, содержащий следующие свойства:  название пункта назначения;  номер поезда  количество мест;  количество...

19
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
23.04.2022, 14:09
Код, сгенерированный ИИ
JavaScript
1
2
let a = Array.from({length:5},(_,k)=>Array.from({length:3},(_,x)=>~~((.5-Math.random())*100)));
console.log(a.flat().reduce((c,v)=>c*=v<0?v:1,1));
2
Заблокирован
23.04.2022, 16:23
JavaScript
1
2
3
4
5
6
7
var mas = [];
for (let i = 0; i < 5; i++){
    mas[i] = [];
    for (let j = 0; j < 3; j++){
        mas[i][j] = Math.round(Math.random()*120-20);
}}
console.log(mas);
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
23.04.2022, 19:02
console.log(a.flat().reduce((c,v)=>c*=v< 0?v:1,1));
Не совсем понятно, почему AI выбрал именно такое решение, потому что ответ 1 может означать как четное кол-во отрицательных единичек, так и то, что отрицательных элементов нет. В последнем случае - навскидку - без флага не обойтись.
1
Заблокирован
23.04.2022, 23:39
Tavashi, у greg zakharov решение нерабочее. Я несколько раз проверил в консоли браузера. Это во-первых. Во-вторых, я как понимаю, вопрос задавал студент или тот, который хотел бы разобраться. Решение со стрелочными функциями не поможет разобраться новичку. Это просто понты.
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
24.04.2022, 00:12
Есть ли погрешности в решении из поста #2, кроме спорного случая с массивом, не содержащим (на последнем уровне вложенности) отрицательных элементов? Я сейчас не вижу.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
24.04.2022, 10:52
Цитата Сообщение от Zvo
...решение нерабочее. Я несколько раз проверил в консоли браузера.


Цитата Сообщение от Tavashi
...так и то, что отрицательных элементов нет
Вот это уже ближе к истине, за оговоркой: какова вероятность того, что все элементы массивов окажутся положительными или в них будет чётное количество именно отрицательных единиц.
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
24.04.2022, 11:54
Zvo, а как вы проверяли и какие именно тесты код greg zakharov не прошёл?
0
Заблокирован
24.04.2022, 13:24
DrType, я ошибся и не до конца почитал условие задачи. В заголовке было написано про создание массива.
0
24.04.2022, 13:37
 Комментарий модератора 
Призываю участников не переходить на личности, не давать субъективных оценок высказываниям собеседника, а больше писать по существу дела.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
24.04.2022, 15:01
Цитата Сообщение от greg zakharov Посмотреть сообщение
Вот это уже ближе к истине, за оговоркой: какова вероятность того, что все элементы массивов окажутся положительными или в них будет чётное количество именно отрицательных единиц.
ТС создает отрицательные элементы с меньшей вероятностью. В вашем способе вы эту вероятность увеличили. Тек не менее, даже в таком способе сохраняется вероятность отсутствия отрицательных элементов.
Вы должны запомнить простое правило: если есть даже небольшая вероятность наступления какого-то события, то в программировании считается, что оно произойдет точно.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
24.04.2022, 16:57
Цитата Сообщение от Tavashi
Вы должны запомнить простое правило
Спасибо за напоминание теории, которая, как известно, имеет свойство расходиться с практикой. Данный случай не станет исключением, так как мы имеем дело с псевдослучайными числами, а это значит, что вероятность остаётся вероятностью (если речь о корреляции) в теории.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
24.04.2022, 20:29
Цитата Сообщение от greg zakharov Посмотреть сообщение
так как мы имеем дело с псевдослучайными числами
Это ни на что не влияет в данном случае.
Очевидно, что даже в вашем способе генерации отрицательных чисел могут быть случаи когда их не будет, а это приводит к тому, что на два разных события [наличие и отсутствие отр-х чисел] будет выдан один ответ.
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
24.04.2022, 21:57
Цитата Сообщение от Tavashi
могут быть случаи когда их не будет, а это приводит к тому, что на два разных события [наличие и отсутствие отр-х чисел] будет выдан один ответ
Было бы неплохо для начала таковой результат получить, верно? Сколько итераций потребуется для создания подобной "коллизии"? ИИ выдал ответ с учётом внушительного количества тестов (аппаратных в том числе), так что пока не вижу смысла вносить коррективы.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
24.04.2022, 22:36
Цитата Сообщение от greg zakharov Посмотреть сообщение
Сколько итераций потребуется для создания подобной "коллизии"?
У меня получилось в пределах 20000:
JavaScript
1
2
3
4
5
6
7
8
for (let i = 0; i < 20000; i++) {
  const a = Array.from({length:5},(_,k)=>Array.from({length:3},(_,x)=>~~((.5-Math.random())*100)));
  const b = a.flat();
  if (b.every(el => el > 0)) {
    console.log("No negative numbers on step: " + i, a);
    break;
  }
}
Добавлено через 19 минут

Не по теме:

Цитата Сообщение от greg zakharov Посмотреть сообщение
Последний раз редактировалось DrType; Сегодня в 22:11.
Возможно, там была какая-то еще аргументация.

0
24.04.2022, 22:52

Не по теме:

Кажется, мне тут не доверяют :(

0
24.04.2022, 22:52

Не по теме:

А вдруг это проделки ИИ.

0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
25.04.2022, 15:07

Не по теме:

Доверие нужно заслужить, а если у кого-то непреодолимая тяга к корректуре сообщений ненадлежащим образом, к тому не будет доверия вовсе.


Tavashi, не верю в везение, но на тестах свыше 50k итераций не получил желаемого. Причём ни на CISC, ни на RISC системах. Может когда-нибудь практика свяжется с теорией (ИИ будет отслеживать), но пока, увы.
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
25.04.2022, 15:24
Цитата Сообщение от greg zakharov Посмотреть сообщение
не верю в везение, но на тестах свыше 50k итераций не получил желаемого.
Можно увеличить кол-во итераций на порядок.
0
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
25.04.2022, 17:47
Ну и зачем нам здесь вероятностные заключения? Можно написать код нормально, и тогда он будет достоверно выдавать верный результат. К тому же код всё равно обходит весь массив, так что мы при этом даже не выигрываем время или память, чего можно было бы добиться для некоторых задач, делая репрезентативную выборку из массива.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2022, 17:47
Помогаю со студенческими работами здесь

Создание двухмерного массива
Как создать двухмерный массив?

Создание двухмерного массива
Помогите, пожалуйста. Нужно на fortran90 составить двухмерный массив размера 8*8, в котором по двум диагоналям будут автоматически введены...

Создание двухмерного массива в perl
Добрый день! Скрипт при работе создаёт одномерный массив @fr. Он точно создаётся правильно! Далее нужно проводить расчёты и создавать...

Создание двухмерного динамического массива
Собственно сабж, как для одномерного это понятно. Создаётся double *X = new double; и удаляется delete X; А как сделать...

Создание динамического двухмерного массива
Как переписать следующий код на С void allocMatrix(int** &amp;ppMtx, const int nRow, const int nCol) { ppMtx = new int*; for...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru