|
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
|
|
Замолнить матрицу рандомно так чтобы нулей было в 2 раза больше чем единиц03.04.2020, 13:52. Показов 4293. Ответов 49
Метки массивы c++ (Все метки)
Доброго времени суток.
Подскажите, как заполнить двумерный массив 8х8 случайными числами от 0 до 1, так, чтобы нулей было в 2 раза больше едениц? Как по мне, так эта задача не имеет решения, т.к.: В данном массиве 64 ячейки. Максимальное количество едениц - 21, тогда нулей - 42, общее количество занятых ячеек - 63. Одна ячейка будет пустой. В противном случае будет переполнение массива. Но, если опустить условие о том, чтобы нулей было в 2 раза больше чем едениц, как сделать так, чтобы нулей было всегда больше, чем едениц?
0
|
|
| 03.04.2020, 13:52 | |
|
Ответы с готовыми решениями:
49
|
|
"C with Classes"
|
|
| 03.04.2020, 14:02 | |
|
m054, возможно массив не под завязку заполнять нужно
0
|
|
|
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
|
||||||
| 03.04.2020, 19:06 [ТС] | ||||||
|
Возможно, но, как тогда сделать так, чтобы массив был гарантированно заполнен нулями в большем количестве?
я сделал так, хотя это не решение, а, с большой натяжкой, читерство:
0
|
||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 04.04.2020, 00:20 | |
|
Заполнить массив сначала нулями, потом единицами и сделать c массивом shuffle.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|||||||
| 04.04.2020, 01:28 | |||||||
0
|
|||||||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 04.04.2020, 01:31 | ||||||
|
Зачем что-то придумывать, если очевидно, что условие неточное?
m054, вы начали делать в лоб, всё, что вам осталось — перемешать массив. Это нормальный подход. Если массив чистый, а не на указателях, то можно вот так (в этом коде можно указывать разное число строк и колонок массиву)
0
|
||||||
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 04.04.2020, 01:35 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 04.04.2020, 02:07 | ||||||
|
Да сделать два нуля, одну единицу, остальное запихать хламом:
0
|
||||||
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 04.04.2020, 02:14 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 04.04.2020, 02:16 | |
|
нет.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 04.04.2020, 02:18 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 04.04.2020, 02:21 | |
|
Это значение какой-то случайной ячейки двумерного статически создаваемого массива.
arr[row][col] то же, что arr[row * col].
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
||
| 04.04.2020, 02:28 | ||
|
daslex, я вот что спрашиваю - такой элемент: arr[0][63] в массиве есть ? у Вас получается есть
0
|
||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 04.04.2020, 02:29 | |
|
Потому что он в массиве [8][8] есть.
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 04.04.2020, 02:32 | |
|
0
|
|
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 04.04.2020, 02:38 | |
|
Я непонятно пишу?
Для массивов на стеке arr[row][col] то же, что arr[row * col]
0
|
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|||
| 04.04.2020, 02:41 | |||
|
daslex, у Вас написано не так:
arr[0][row * col] неужели это не видно ? строка 20
0
|
|||
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
||||||
| 04.04.2020, 03:40 | ||||||
|
Не смогу я объяснить, пусть кто может объясняет. В последний раз пробую.
То, что у [8][8] есть [0][63] — это факт. Если быть точнее, чем я был, то там что-то вроде этого arr[row][col] ===(*arr)[row * col] === arr[0][row * col] Суть в том, что имя двумерного массива на стеке можно использовать как указатель на одномерный массив. А сам по себе двумерный массив в памяти расположен как одномерный массив. Можно ещё сказать, что двумерный массив — это массив, хранящий в себе только один массив, при этом тот хранимый в массиве массив представляет собой строку всех значений этого двумерного массива. Вот тот индекс [0] — это индекс той первой и единственной строки, а row*col — это число значений там. Добавлено через 21 минуту Работает это так:
0
|
||||||
|
Вездепух
12932 / 6800 / 1820
Регистрация: 18.10.2014
Сообщений: 17,211
|
||||||||||||
| 04.04.2020, 04:29 | ||||||||||||
|
Для того, чтобы таким способом получить случайную последовательность с любым заранее заданным количеством нулей и единиц, достаточно просто назначить соответствующие начальные значения n0 и n1.Например, для 43 нулей и 21 единиц
0
|
||||||||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
|
| 04.04.2020, 07:57 | |
|
Блин. Заполните весь массив нулями и добавьте рэндомно 21 единицу.
0
|
|
| 04.04.2020, 07:57 | |
|
Помогаю со студенческими работами здесь
20
Сгенерируйте серию случайных чисел из 0, 1, 2 так, чтобы количество двоек было равно количеству единиц сделать так чтобы a было больше b Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|