Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 08.10.2018
Сообщений: 47

Рандомные не повторяющиеся числа

15.02.2019, 00:05. Показов 3223. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. В Python есть метод модуля Random под названием choice, который выбирает случайные не повторяющиеся числа из выбранного диапазона.
Есть ли аналог в C#?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2019, 00:05
Ответы с готовыми решениями:

Рандомные числа
Всем привет! Нужно получать рандомные числа в цикле. Как реализовать? Рандом зависимый от времени мне не подходит судя по всему.. В...

Одинаковые рандомные числа
Доброго времени суток. Делаю лабораторную работу. Нужно заполнить массивы и посчитать суммы элементов этих массивов. Я решил...

Рандомные числа в Си Шарк
Можете объяснить как дать переменной рандомное значение?

8
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
15.02.2019, 00:21
xi8, Здравствуйте. Аналога нет. Придется писать свой метод
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
15.02.2019, 00:26
xi8, Аналога нет. Можно повелосипедировать с передачей определенного времени в качестве аргумента. Или сгенерировать рандомную последовательность в нужном диапазоне, а потом выбрать оттуда не повторяющиеся элементы (с помощью Distinct(), например)
0
1 / 1 / 0
Регистрация: 08.10.2018
Сообщений: 47
15.02.2019, 00:31  [ТС]
Ellizio, aenye, а я могу из C# кода запустить скрипт Python и передать ему в качестве аргументов запуска этот диапазон. Скрипт будет возвращать нужную мне последовательность, а я ее в C# сохраню в какую-нибудь переменную. Можно так?
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
15.02.2019, 00:36
xi8, Можно. Но есть ли в этом смысл в данной ситуации? Если можно решить проблему более подходящим путем.
0
1 / 1 / 0
Регистрация: 08.10.2018
Сообщений: 47
15.02.2019, 00:40  [ТС]
aenye, у меня в лабе по защите информации нужно на основе значения ключа сделать такую последовательность.
Например, длина равна 3, последовательность 1,3,2).
Я даже не знаю, как в в C# такое реализовать.
(Пишу обычно на питоне и плюсах)
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
15.02.2019, 00:43
xi8, Так на основе значения, или на основе длинны ключа?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
15.02.2019, 00:45
xi8, если диапазон небольшой, то проще всего генерировать сразу все значения, а потом их просто перемешать.
Если диапазон большой, то несложно написать свой генератор.
0
 Аватар для aenye
304 / 186 / 45
Регистрация: 05.07.2018
Сообщений: 580
15.02.2019, 01:08
xi8, Если я правильно понял задачу...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        static Random r = new Random();
 
        static List<int> Generator(string key)
        {
            int keyLen = key.Length;
            List<int> result = new List<int>();
 
            while (result.Count != keyLen)
            {
                int temp = r.Next(0, keyLen + 1);
                if (result.Contains(temp))
                    continue;
                else
                    result.Add(temp);
            }
            return result;
        }
Использование:
C#
1
2
3
4
5
 
            var some = Generator("2353543");
 
            foreach (var i in some)
                Console.WriteLine(i);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2019, 01:08
Помогаю со студенческими работами здесь

Создать рандомные числа
Помогите плз, нужно создать рандом C# winform: нажимаю button и в текст боксе должны выводится не повторяющиеся рандомные числа....

(Генератор паролей)Рандомные числа
Всем привет-это снова я и у меня появился новый вопрос.:cry: Когда я ввожу рандомное число в переменную, при каждом повторении цикла она...

Как генерировать рандомные числа?
Как генерировать рандомные числа в заданном диапозоне? судя из MS документации вот так вот, но ругается, что 2 переменные всунул :( ...

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

Как создать рандомные числа в диапазоне?
Первый вопрос: Как создать рандомные числа в диапазоне? К примеру любое число от 140 до 2700 Я сделал таким образом. Правильный...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru