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

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

10.03.2011, 19:56. Показов 28778. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru