29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82

Замолнить матрицу рандомно так чтобы нулей было в 2 раза больше чем единиц

03.04.2020, 13:52. Показов 4722. Ответов 49

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Подскажите, как заполнить двумерный массив 8х8 случайными числами от 0 до 1, так, чтобы нулей было в 2 раза больше едениц?
Как по мне, так эта задача не имеет решения, т.к.:
В данном массиве 64 ячейки.
Максимальное количество едениц - 21, тогда нулей - 42, общее количество занятых ячеек - 63. Одна ячейка будет пустой. В противном случае будет переполнение массива.

Но, если опустить условие о том, чтобы нулей было в 2 раза больше чем едениц, как сделать так, чтобы нулей было всегда больше, чем едениц?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.04.2020, 13:52
Ответы с готовыми решениями:

Заполнить массив значениями 0 и 1 случайным образом, но чтобы нулей было в два раза больше, чем единиц
Здравствуйте! Не могу решить задачу, есть ли идеи как это можно сделать? Заранее благодарю! Заполнить одномерный массив на 30...

Заполнить массив случайным образом 0 и 1 так, чтобы кол-во единиц было больше количества нулей
Добрый вечер, ребят. Помогите, пожалуйста, решить задачу на C#. Буду очень благодарен! Задача: Заполните массив случайным образом...

Как сделать так чтобы нельзя было вводить больше чем число текущего года?
int y = DateTime.Now.Year; if (richTextBox3.Text.Length == 1 && Convert.ToInt16(richTextBox3.Text) > 9) { ...

49
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
22.04.2020, 20:55
Студворк — интернет-сервис помощи студентам
Ничем не хуже, но 1/2 это совершенно не 5/27. Хуже оно всё, когда лекарство делают или дом строят.

Добавлено через 9 минут
С таким подходом, что "тут же не сказано", можно просто весь массив тройками, например, заполнить и заявить, что это решение. В задаче же не сказано, что в массиве должны быть нули и единицы, а сказано, что нулей должно быть в два раза больше единиц, т. е. если единиц ноль, то и нулей ноль.
0
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
22.04.2020, 20:58
Цитата Сообщение от daslex Посмотреть сообщение
массив тройками
нельзя, т.к.
случайными числами от 0 до 1,
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
22.04.2020, 21:14
Да, согласен, нельзя. Я уже забыл. Название темы такое, что можно. Извиняюсь.

Добавлено через 1 минуту
Можно весь массив заполнить числами >0 <1, хоть весь числом 0.5, тогда можно.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
22.04.2020, 22:58
Цитата Сообщение от daslex Посмотреть сообщение
это ... филькина грамота, потому что так можно в 1 ячейку запихнуть единицу, в 2 другие по нулю, а в остальные любые другие числа, после чего ходить с поднятой головой
если ты насчёт своего варианта, целиком согласен, в нём так и происходит
Цитата Сообщение от daslex Посмотреть сообщение
arr[0][0] = 0, arr[0][1] = 0, arr[0][2] = 1;
если это изречение касается моего варианта, разберись сначала как он работает
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
23.04.2020, 07:29
Так и работает по тому же принципу "в задаче не сказано что", полностью отвечая написанному ТС условию. А зачем делать что-то сложнее, если это можно сделать максимально просто? Я всего лишь показал, как это же самое сделать проще, не решая непосредственную задачу ТС (ту, которую ТС пытался решить своими силами, а не те, которые ему тут придумывают).
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
23.04.2020, 09:23
Цитата Сообщение от daslex Посмотреть сообщение
Я всего лишь показал, как это же самое сделать проще
что показал ? поставил два нолика и единичку и считаешь это заполнением случайными числами ?
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
23.04.2020, 09:51
Конечно.
rand() % 1 — случайное число диапазона [0;0]
rand() % 1 + 1 — случайное число диапазона [1;1]

Добавлено через 8 минут
А ты считаешь случайными числами числа, которые известны заранее? (В массив же входят известные заранее числа)
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
23.04.2020, 10:14
Цитата Сообщение от daslex Посмотреть сообщение
А ты считаешь случайными числами числа, которые известны заранее? (В массив же входят известные заранее числа)
Случайной в данном случае является лишь расстановка чисел в массиве.

Что характерно, чуть ли не в подавляющем большинстве детско-студенческих задач здесь на тему "заполнить массив случайными числами" на самом деле требуется заполнить массив случайной перестановкой заранее известных чисел.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
23.04.2020, 11:22
Мы говорим о нескольких задачах.
В задаче, которую решали мы, TheCalligrapher, это так.
В задаче, которую я обсуждаю с Yetti, это не так. Тут у нас смесь. (мы с ним тут заполняем же массив действительными числами [0.0;1.0], а не целыми [0;1] ).

Поэтому упомянутый "данный случай", это случай, когда массив состоит только из нулей и единиц.
Просто смешалось тут всё. Нехорошо.

Добавлено через 4 минуты
Я бы сказал, что в случае с действительными числами у нас в наличии неслучайные и условно-случайные числа.
0
29 / 1 / 0
Регистрация: 25.02.2020
Сообщений: 82
24.04.2020, 06:19  [ТС]
Это случайный артефакт из прошлой жизни программы, забытый, затерявшийся от "замыленного" взора молодого и неопытного программиста

Добавлено через 2 минуты
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Что это за вызов rand(), одиноко стоящий в чистом поле в строке 9?
Это случайный артефакт из прошлой жизни программы, забытый, затерявшийся от "замыленного" взора молодого и неопытного программиста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2020, 06:19

Найти и вывести номер строки в которой единиц больше чем нулей
Дан двумерный массив m на n, там токо 0 и 1. Надо найти и вывести номер строки, в которой единиц больше чем нулей. Заранее спасибо.

Из массива В удалить числа в двоичном представлении которых единиц больше, чем нулей
Переписать положительные числа из матрицы целых чисел А в массив В. Из массива В удалить числа в двоичном представлении которых единиц...

Подсчитать и вывести на экран количество N и номера таких столбцов, в которых нулей больше чем единиц
Матрицу М(12, 10) заполнить нулями и единицами случайным образом. Подсчитать и вывести на экран количество N и номера таких столбцов, в...

Сгенерируйте серию случайных чисел из 0, 1, 2 так, чтобы количество двоек было равно количеству единиц
Сгенерируйте серию случайных чисел из 0, 1, 2 так, чтобы количество двоек было равно количеству единиц.

сделать так чтобы a было больше b
Private Sub CommandButton1_Click() If Val(s) = Val(TextBox1) Then n = n + 1 k = k + 1 Label12.Caption = &quot;&quot; Label13.Caption = &quot;&quot; ...


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

Или воспользуйтесь поиском по форуму:
50
Ответ Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru