Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Случайные числа / 11 сообщений из 11, страница 1 из 1
09.01.2013, 13:47
    #38103336
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Как заполнить массив из N элементов числами от 0 до N-1 в случайном порядке и без дырок?
...
Рейтинг: 0 / 0
09.01.2013, 13:51
    #38103342
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Winnipuh, задача для первоклассников. Ты издеваешься?

http://codearticles.ru/Home/ArticleView/1100
...
Рейтинг: 0 / 0
09.01.2013, 13:58
    #38103357
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
МСУ,

без дырок )
...
Рейтинг: 0 / 0
09.01.2013, 14:04
    #38103368
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
МСУWinnipuh, задача для первоклассников. Ты издеваешься?

http://codearticles.ru/Home/ArticleView/1100

хых....
чем больше читаешь, тем глупее становишься (ц, Мао)


А оно перемешает числа [0:N-1] без дырок?
...
Рейтинг: 0 / 0
09.01.2013, 14:22
    #38103410
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
WinnipuhКак заполнить массив из N элементов числами от 0 до N-1 в случайном порядке и без дырок?Как вариант - тупо взять список чисел и каждый раз выбирать и извлекать k-ый элемент, k случайное равномерно распределённое.
...
Рейтинг: 0 / 0
09.01.2013, 14:23
    #38103416
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
...
Рейтинг: 0 / 0
09.01.2013, 14:34
    #38103448
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Нашел такое

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var list = new List<int>(10);
            for (int i = 0; i < 10; i++) list.Add(i);

            var randomizedList = new List<int>();
            var rnd = new Random();
            while (list.Count != 0)
            {
                var index = rnd.Next(0, list.Count); // <-------------
                randomizedList.Add(list[index]);
                list.RemoveAt(index);
            }
            for (int i = 0; i < 10; i++) Console.WriteLine("{0}", randomizedList[i]);



Но меня смущает вот то место со случайным датчиком, он ведь может генернуть повторяющиеся значения....
...
Рейтинг: 0 / 0
09.01.2013, 14:45
    #38103491
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Winnipuh,

в этом примере randomize берез из списка значения (список предопределен заранее) и заполняем им другую коллекцию, случайных образом.
есть коллекция
1,2,3,4,5,6,7,8,9,0
мы случайно выбираем индекс, вставляем во 2 коллекцию и удаляем значение из 1.

вот что тут реализовано.
...
Рейтинг: 0 / 0
09.01.2013, 14:47
    #38103495
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Winnipuh,

И? В массиве-то по этому индексу уже другое значение.
...
Рейтинг: 0 / 0
09.01.2013, 14:52
    #38103510
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
Roman MejtesWinnipuh,

в этом примере randomize берез из списка значения (список предопределен заранее) и заполняем им другую коллекцию, случайных образом.
есть коллекция
1,2,3,4,5,6,7,8,9,0
мы случайно выбираем индекс, вставляем во 2 коллекцию и удаляем значение из 1.

вот что тут реализовано.

да, упустил, то, что надо.
...
Рейтинг: 0 / 0
09.01.2013, 14:55
    #38103514
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Случайные числа
AbstractionWinnipuh,

И? В массиве-то по этому индексу уже другое значение.

всё работает, вопрос снят, я не учел.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Случайные числа / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]