0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 12
|
||||||
1 | ||||||
Заполнить массив случайными числами в диапазоне23.12.2014, 22:38. Показов 25199. Ответов 16
Метки нет Все метки)
(
Помогите, пожалуйста, найти ошибку
![]() Нужно заполнить двумерный массив случайными простыми числами, которые могут повторяться. Почему-то большая часть выпадающих цифр - нули! Хотя число рандомное я задала (вроде бы) от двух до 50. Функция проверки на простоту вообще игнорируется! В чем проблема? ![]()
0
|
|
23.12.2014, 22:38 | |
Ответы с готовыми решениями:
16
Как заполнить одномерный массив случайными существенными числами в диапазоне?
Заполнить массив случайными числами в диапазоне (6, 32), вывести в строку, упорядочить вставкой |
Заблокирован
|
||||||
23.12.2014, 22:41 | 2 | |||||
Annnie, от 2 до 50 будет так:
0
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 12
|
|
23.12.2014, 22:46 [ТС] | 3 |
да я уже поняла
![]()
0
|
Заблокирован
|
||||||
23.12.2014, 22:51 | 4 | |||||
Annnie, я бы сделал по-другому. Заполните массив простыми числами. И получайте случайный индекс, который будет указывать на элемент массива случайных числе. Так вы избежите проверок на каждой итерации и точно будете гарантировать, что запишется именно простое число.
Добавлено через 2 минуты Annnie, вот код, который заполняет массив всеми простыми числами до заданного числа:
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|
23.12.2014, 22:53 | 5 |
Всё у вас работает. В массиве, изначально, нули. Не каждое число от 2 до 50 простое, так ведь? Поэтому не простые числа не записываются и в массиве остаётся ноль.
0
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 12
|
|||||||||||
24.12.2014, 22:02 [ТС] | 6 | ||||||||||
подправила кое-что, проверка на простоту работает, но как обойти нули - так и не пойму :/
а как сделать так, чтобы они не оставались? ![]() но индексы ведь тоже придется проверять на простоту ![]() ![]()
если кому еще надо, я кажись сделала ![]()
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|||||||||||
24.12.2014, 22:04 | 7 | ||||||||||
Таки не поняли.
Если у вас будет одномерный массив содержащий простые числа, то это место
1
|
Заблокирован
|
|
24.12.2014, 22:06 | 8 |
Annnie, индексы не придется проверять на простоту. Нужно задать диапазон генерируемых значений 1..n, где n - максимальный индекс массива с простыми числами. Но раз оптимальность решения не нужно, то...
Добавлено через 1 минуту Annnie, NotNot, дело написал )
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|
24.12.2014, 22:07 | 9 |
student_201, от 0 до n, индексация ведь с нуля.
0
|
Заблокирован
|
|
24.12.2014, 22:08 | 10 |
NotNot, я общий смысл описал. Тогда, конечно, будет от 0..n-1.
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|
24.12.2014, 22:13 | 11 |
0
|
Заблокирован
|
|
24.12.2014, 22:15 | 12 |
NotNot, не понимаю, к чему такие придирки. Написал же человеческие диапазоны: от 1 до n. Если нумеруем с 0, то до n-1.
с 0, только не до n, а до n - 1, т.к. |0, .., n-1| = n элементов
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|
24.12.2014, 22:35 | 13 |
student_201, просто вдумайся в слова.
Этими словами ты, вполне конкретно, говоришь, что значения будут: rand() % (N-1) + 1, где N - размер, (N-1) - индекс последнего элемента - он же твой n. Что означает, что первый элемент (по индексу 0) - мы не берём. Я понимаю что ты имел в виду с первого по энный, т.е натуральный счет, но сказал ты именно про индексы.
0
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 12
|
|
24.12.2014, 23:06 [ТС] | 14 |
0
|
31 / 31 / 6
Регистрация: 23.10.2014
Сообщений: 107
|
|
24.12.2014, 23:07 | 15 |
Annnie, да.
0
|
Заблокирован
|
|
24.12.2014, 23:12 | 16 |
0
|
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 12
|
|
24.12.2014, 23:17 [ТС] | 17 |
ну извиняйте, мне понадобилось время
![]() спасибо за помощь! буду знать про такой метод
0
|
24.12.2014, 23:17 | |
24.12.2014, 23:17 | |
Помогаю со студенческими работами здесь
17
Функции для обработки матриц: объявить и заполнить двумерный динамический массив случайными числами в заданном диапазоне
Заполнить массив случайными числами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |