Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/144: Рейтинг темы: голосов - 144, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22

Генератор случайных чисел

10.03.2011, 19:56. Показов 28832. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте люди!!! Может ли кто нить из вас помочь мне? Нужно создать генератор случайных чисел который мог бы из заданого промежутка выбрасывать случайные числа записывая их в 4 столбика.
1 2 3 4
5 6 7 8
9 10 11 12
где (1,2,3,4) - номер числа, а не его значене
Ну или хотя бы привидите примеры кодов анологичных генераторов.
Всех заранее благодарю!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2011, 19:56
Ответы с готовыми решениями:

Генератор случайных чисел
Друзья, не могли бы вы помочь мне? Мне нужно написать генератор случайных чисел (от минус бесконечности до плюс бесконечности). А то мои...

Генератор случайных чисел
У меня есть код: Private Sub Command1_Click() Label1 = Array("1", "2", "3")(Int(Rnd * 3)) End Sub Private Sub...

Генератор случайных чисел
Использую для генерации случайных чисел вот такую формулу Int((6 - 1 + 1) * Rnd() + 1), но при этом каждый раз, когда я запускаю программу...

24
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
10.03.2011, 20:02
Rnd не катит, так понимаю

Добавлено через 1 минуту
почему именно в 4 столбика?
и, кажется, надо выбросить все числа из промежутка ?
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
10.03.2011, 22:01  [ТС]
Нужно имено в 4 столбика, это необходимо для специфичной программы. Я практически ничего не понимаяю в програмирование, но нашел несколько примеров в инете там програмируют через Rnd. Но везде выскакивает одно число, либо определенное кол-во чисел но в 1 стобик, мне же нужно задать програму которая будет выбрасывать случайные числа например от 1 до 100 по столбиком. Первое, пятое, девятое число в 1 столбик, 2,6,10 во вттоорой и так далее.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
10.03.2011, 22:08
а сколько строк

Добавлено через 2 минуты
так, что ли ?
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Command1_Click()
Randomize (Timer)
For i = 1 To 12
r = Int(Rnd * 100)
Print r; vbTab;
If i Mod 4 = 0 Then Print
Next i
End Sub
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
10.03.2011, 22:31  [ТС]
Уважаемый gaw я вписываю ваш код а он мне выдает такую ошибку Variable not defined. Опишу свои действия. Создаю новую форму на которой делаю 1 кнопку нажимаю на нее два раза и в прцедуру кнопки ввожу ваш код без 1 и 8 строчки, нажимаю старт, затем кнопку и появлтся ошибка.
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
10.03.2011, 22:38
какой бейсик
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
10.03.2011, 22:41  [ТС]
Microsoft Visual Basic 6.0
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
10.03.2011, 22:46
какая строка подсвечивает после ошибки

попробуй еще раз
Visual Basic
1
2
3
4
5
6
7
8
dim i%,r%
Randomize (Timer)
For i = 1 To 12
r = Int(Rnd * 100)
Print r; vbTab;
If i Mod 4 = 0 Then Print
Next i
Print
2
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
10.03.2011, 22:48  [ТС]
Та же история желтым светом подсвечивается Private Sub Command1_Click()
А вот теперь получилось
Спасибо огромное. А если не трудно помогите. Как сделать так чтобы при каждом нажатии на клавишу список обновлялся а не запиывался друг под другом?
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
11.03.2011, 07:53
Visual Basic
1
2
Cls => вставь
Randomize (Timer)
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
11.03.2011, 23:00  [ТС]
Спасибо огромное gaw и SuPeR XaKer!!! Теперь я точно знаю, что здесь можно рассчитывать на оперативную помощь. У меня скорее всего возникнут еще вопросы так что не прощаюсь))) Надеюсь что не сильно вам надоел. Удачи!!!

Добавлено через 5 часов 13 минут
Есть вопрос? Я создал генератор вот его код.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
Dim paramA As Double
Dim paramB As Double
Dim i%, r%
paramA = txtParamA.Text
paramB = txtParamB.Text
Cls
Randomize (Timer)
For i = 1 To paramA
r = Int(Rnd * paramB)
Print r; vbTab;
If i Mod 4 = 0 Then Print
Next i
Print
End Sub
Параметр А - колличество номеров
Параметр В - максимальное значение случайного числа.
Эти параметры я привязал к тексбоксам.
Вопрос.1) Как сделать так чтоб можно было задавать нижнюю границу случ числа, а то все от 0 отсчет идет?
2) Как сделать так чтобы результат был привязан к лейблу с надписью?
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
12.03.2011, 09:53
Sergey198826
Вам так надо?
Только на форму ещё одно текстовое поле киньте и вводите в него нижнюю границу
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
Dim paramA As Double
Dim paramB As Double
Dim i%, r%
paramA = Text1.Text
paramB = Text2.Text
Label1 = ""
Randomize (Timer)
For i = 1 To paramA
r = CInt(Int((paramB - Val(Text3) + 1) * Rnd() + Val(Text3)))
Label1 = Label1 & r & "   "
If i Mod 4 = 0 Then Label1 = Label1 & vbCrLf
Next i
End Sub
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
12.03.2011, 10:56  [ТС]
Уважаемый SuPeR XaKer я вписываю ваш код а он мне выдает такую ошибку Variable not defined. Опишу свои действия. Я создаю на своей форме на которой уже имеються 2 текстовых поля еще одно, оно именуеться так Text1 я переименновываю его в Text3 под ваш код. Ввожу значения но выдает ошибку. Возможно мне нужно это текстовое поле привязать к переменной как первые два? И еще вопрос я должен ли что то всиавлять в пустые ковычки в коде?
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
12.03.2011, 13:03
а лейбл на форму поставили?
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
12.03.2011, 13:37  [ТС]
Да лейбл помещен на форму.
0
 Аватар для SuPeR XaKer
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,876
12.03.2011, 14:17
Вот проект.Всё работает прекрасно.
Вложения
Тип файла: rar Desktop.rar (1.2 Кб, 148 просмотров)
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
12.03.2011, 21:23  [ТС]
SuPeR XaKer огромное спасибо за проект. Да действительно работает, щас помозгую может найду ошибку. Еще раз благодарю вас и не прощаюсь)))

Добавлено через 6 часов 32 минуты
Скажите пожалуйста, не будет ли в этом коде:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
Dim paramA As Double
Dim paramB As Double
Dim i%, r%
paramA = Text1.Text
paramB = Text2.Text
Label1 = ""
Randomize (Timer)
For i = 1 To paramA
r = CInt(Int((paramB - Val(Text3) + 1) * Rnd() + Val(Text3)))
Label1 = Label1 & r & "   "
If i Mod 4 = 0 Then Label1 = Label1 & vbCrLf
Next i
End Sub
граничные числа в задаваемом мною промежутке выпадать с той же вероятностью что и все остальные. На одном из форумов я читал что функция CInt делает имеено так а точнее
если я задаю промежуток от 1 до 10включительно то шанс выподения 1 или 10 будет равен 0,05 тогда как остальные числа имеют вероятность выпадения = 0,1. Или же функция Int устраняет эту проблему?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
12.03.2011, 21:37
Цитата Сообщение от Sergey198826 Посмотреть сообщение
выпадать с той же вероятностью
уважаемый Sergey198826
вместо парить мозги постарайтесь как можно точнее сформулировать задачу
а то такое ощущение, что вы организовываете своеобразный онлайн учебник
1
0 / 0 / 0
Регистрация: 10.03.2011
Сообщений: 22
12.03.2011, 22:37  [ТС]
уважаемый gaw благодарю вас за конструктивную критику. Дело в том что программа которая мне необходима на этомм этапе уже создана в том числе благодаря вашим усилиям, за что вам еще раз вырожаю свою благодарность. Меня интересует только небольшой ньюанс о котором я читал на одном из форумов. CInt(10 * Rnd + 1) действительно будет выдавать числа от 1 до 11 включительно, но не равномерно!!! Вероятность получить любое число от 2 до 10 включительно будет равна 0.1, а вероятность получения 1 или 11 будет равна 0.05. Я хочу узнать в данном коде будут ли все числа включая граничные значения будут выпадать с одинаковой вероятностью.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
Dim paramA As Double
Dim paramB As Double
Dim i%, r%
paramA = Text1.Text
paramB = Text2.Text
Label1 = ""
Randomize (Timer)
For i = 1 To paramA
r = CInt(Int((paramB - Val(Text3) + 1) * Rnd() + Val(Text3)))
Label1 = Label1 & r & "   "
If i Mod 4 = 0 Then Label1 = Label1 & vbCrLf
Next i
End Sub

P.S. Понимаяете просто для моего диплома необходимо создать одну очень специфическую программу. То что вы мне помогли создать это лишь первый этап ее разработки. Я пока сам не знаю окончательне условия для финального програмирования так как оно зависит от большого числа факторов. Я понимаю что вам будет легче оказывать свою помощь если я буду четче формулировать свои мысли, и я постараюсь это сделать. Еще раз спасибо!!!!
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
12.03.2011, 23:07
мне известно несколько способов сравнительно равномерного распределения чисел в заданном диапазоне
например: берем 4 значное число, возводим его в квадрат , берем средние 2 цифры, как число (с оговоркой какие, если средних не 2) - это первое случайное, потом его возводим в квадрат и т.д.
встроенный генератор Rnd несовершенен, обсуждение этого вопроса можно погуглить
о 100% равновероятной распределяемости я не могу ничего сказать
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2011, 23:07
Помогаю со студенческими работами здесь

Генератор случайных чисел и одинаковая последовательность
Есть генератор случайных чисел: Function GenXzn(ByVal nLen As Long, Optional ByVal NoZero As Boolean = False) _ As Double Dim s$, i% ...

Как использовать генератор случайных чисел
Придумали с другом игру, ну в общем нужна программа, чтобы выпадали случайные цифры, от 1 до 6, типо кубиков... всего чисел должно быть...

Создать одномерный массив F (17), используя генератор случайных чисел
Ну вот само задания: "Создать одномерный массив F (17), используя генератор случайных чисел. Заменить все четные элементы их квадратами,...

Нужен генератор случайных чисел в диапазоне от 5000 до 20000
Нужен генератор случайных чисел в диапазоне от 5000 до 20000 Добавлено через 40 минут Всё, нашёл ответ на свой вопрос, код такой ...

Генератор случайных символов
Как создать генератор символов: английские буквы (как строчные, так и прописные). Схема такая: 1) Пользователь выбирает количество...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru