Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 5
1

Программа с генератором случайных чисел не всегда выдает корректный результат

04.12.2014, 23:43. Показов 706. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Небольшой "шедевр". Вроде бы синтаксис верный, а вот работает периодически с ошибками. Как вы думаете, в чем причина?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Main()
        Dim intX, intY As Integer
        Dim fX, fY As Single
 
        Randomize()
        fX = Rnd()
 
        Do
            Randomize()
            fY = Rnd()
        Loop Until fX <> fY
 
        intX = 30 + CInt(fX * 15)
        intY = 30 + CInt(fY * 15)
        Console.WriteLine(intX & " " & intY)
        Console.ReadKey()
    End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2014, 23:43
Ответы с готовыми решениями:

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

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

Генерация массива случайных чисел код выдаёт неправильный результат
Вот код : #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdlib&gt;...

Работа с генератором случайных чисел
Здравствуйте, уважаемые форумчане. Прошу помощи вот с такой задачей, не могу никак ничего...

3
8943 / 4855 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.12.2014, 00:33 2
Ошибка наверное в том, что для генерации двух случайных чисел в заданном диапазоне нужно пользоваться классом Random:
VB.NET
1
2
3
4
Dim intX, intY As Integer
Dim rnd As New Random()
intX = rnd.Next(30, 46)
intY = rnd.Next(30, 46)
0
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 5
05.12.2014, 00:58  [ТС] 3
При разных fX и fY значения CInt и CInt могут оказаться одинаковыми (за счёт округления). Например, fY=0.01, fX=0.02, тогда fX*15=0.15, fY*15=0.3, CInt(fX*15)=0, Cint(fY*15)=0. Получим intX=30=intY).
0
52 / 52 / 25
Регистрация: 01.02.2014
Сообщений: 201
05.12.2014, 10:49 4
Вот тема недавно проскакивала, как генерировать 2 случ. числа
Вывести два случайных несовпадающих числа
0
05.12.2014, 10:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2014, 10:49
Помогаю со студенческими работами здесь

Проблемы с генератором случайных чисел
Мне нужно случайное число от 1 до 5 (и 1 и 5 включительно), оно должно выбираться несколько раз в...

Помогите с генератором случайных чисел
program new; var i,j,k,num:integer; begin for i:=1 to 500 do begin randomize;...

Сформировать массив целых чисел из диапазона 1-100 генератором случайных чисел
Помогите написать программу: Сформировать массив целых чисел из диапазона 1-100 генератором...

Заполнить прямоугольный массив целых чисел генератором случайных чисел по правилу
заполнить прямоугольный массив целых чисел генератором случайных чисел таким образом, чтобы каждая...

Задать массив генератором случайных чисел
Задать массив генератором случайных чисел . Найти минимальный элемент массива и вывести на экран...

Задать массив генератором случайных чисел
Задать массив генератором случайных чисел в диапазон . Найти среднее арифметическое четных...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru