Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
8 / 8 / 0
Регистрация: 17.10.2012
Сообщений: 70
1

Генератор случайных чисел выдает идентичные значения

20.01.2015, 20:21. Показов 821. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При использовании генератора случайных чисел размещенного в цикле возникает проблема, что генерируемая группа идентична в своих значениях или имеет всего несколько отдельных групп с одинаковыми значениями, хотя мне нужно все разные значения.
Код класса:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
 
public class Molekul
{
    private Random r = new Random();
    public Molekul(int xx, int yy)
    {
        e = 5;
        dx = r.Next(-e, e);
        int k = e - dx;
        dy = r.Next(-k, k);
        x = xx;
        y = yy;
        
    }
    public int x;
    public int y;
    public int z;
 
    public int e;
 
    public int dx;
    public int dy;
    public int dz;
    public void Move()
    {
        x += Convert.ToInt32(dx);
        if (x >= 474 || x <= 5) { dx *= -1; }
        y += Convert.ToInt32(dy);
        if (y >= 474 || y <= 5) { dy *= -1; }
    }
}
По сути, у меня генератор стоит в конструкторе класса, а сам конструктор вызывается в цикле, как правило, итераций в цикле больше 50. Генерация происходит на промежутке (-5,5). Как сделать так чтобы все значение били, разними?
Заранее спасибо за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2015, 20:21
Ответы с готовыми решениями:

Генератор случайных чисел - программа все время выдает нули
как написать генератор чисел 0 и 1. я пытался что-то сделать: int massive=new int ; ...

Генератор случайных чисел выдает одни и те же значения
Вопрос по генератору случайных чисел! Скачал где-то код, подправил под свои нужды, но... Задача....

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

Генератор случайных чисел rand() выдаёт одинаковые числа
Например, сделаем маленькую программу в которой будет переменная int chislo. Дальше будет так:...

2
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
20.01.2015, 20:26 2
А где взять 50 разных чисел на отрезке (-5;5)?

Добавлено через 1 минуту
Попробуйте сделать так
C#
1
private static Random r = new Random();
Добавлено через 1 минуту
Или использовать Guid, если нужны уникальные значения.
0
0 / 0 / 2
Регистрация: 25.01.2014
Сообщений: 22
20.01.2015, 23:22 3
Попробуй поставить задержку либо в цикле, либо в самом классе, программа слишком быстро срабатывает и успевает занести в переменную одно и то же число
C#
1
2
3
4
5
6
7
8
9
10
public Molekul(int xx, int yy)
    {
        e = 5;
        dx = r.Next(-e, e);
        int k = e - dx;
        dy = r.Next(-k, k);
        x = xx;
        y = yy;
        Thread.Sleep(например 150)
    }
ну или же в теле цикла тред пропиши таким же образом
0
20.01.2015, 23:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2015, 23:22
Помогаю со студенческими работами здесь

генератор случайных чисел выдает n четырехзначных чисел. вывести на экран лишь те из них, в которых совпадают первая и последняя цифры
генератор случайных чисел выдает n четырехзначных чисел. вывести на экран лишь те из них, в которых...

Генератор псевдо случайных чисел повторяет значения
Генерирую доступ случайным образом в массив chars; К примеру 1000 раз, проведя операцию 2...

Написать генератор случайных чисел, декрементирующий свои значения
Доброго времени суток. Помогите написать код на С++, в котором: Генератор случайных чисел создаёт...

Генератор случайных чисел на основе ряда натуральных чисел
Подскажите плиз, можно ли из ряда натуральных чисел образовать псевдослучайные числа по следующему...


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

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