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

Как вывести случайное значение из массива?

04.04.2016, 16:47. Показов 12773. Ответов 12

Author24 — интернет-сервис помощи студентам
Как вывести случайное одно значение из этого массива?
C#
1
2
3
4
5
6
7
8
9
10
11
12
 string [] myArr = new string[10];
 
            myArr[0] = "Вика";
            myArr[1] = "Саша";
            myArr[2] = "Костя";
            myArr[3] = "Маша";
            myArr[4] = "Никита";
            myArr[5] = "Диана";
            myArr[6] = "Даша";
            myArr[7] = "Лёша";
            myArr[8] = "Влад Быков";
            myArr[9] = "Влад Волков";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2016, 16:47
Ответы с готовыми решениями:

Как присвоить случайное значение элементу двумерного массива
Привет всем! Помогите пожалуйста, не знаю почему задают ошибки! using System; using...

Случайное значение из массива.
В массиве содержится скажем 3 числа привязаных к переменным, int V1,V2,V3; V1 =...

Взять из массива случайное значение
Как взять из массива значений, допустим такого Integer Nums = {8, 10, 11, 12}; случайное...

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

12
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
04.04.2016, 16:52 2
Лучший ответ Сообщение было отмечено KarlRash как решение

Решение

C#
1
2
            Random rnd = new Random(DateTime.Now.Millisecond);
            Console.WriteLine(myArr[rnd.Next(0, myArr.Length-1)]);
1
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
04.04.2016, 16:54 3
Лучший ответ Сообщение было отмечено Psilon как решение

Решение

C#
1
2
Random r = new Random();
var randomValue = myArr[r.Next(0, myArr.Length)];
1
20 / 37 / 9
Регистрация: 09.06.2015
Сообщений: 176
04.04.2016, 16:54 4
Лучший ответ Сообщение было отмечено KarlRash как решение

Решение

C#
1
2
Random rand = new Random();
Console.WriteLine(myArr[rand.Next(9)]);
0
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
04.04.2016, 16:55 5
ITALIANEZ, верхний предел и так будет исключён, так что ваш вариант никогда не вернет последний элемент массива.
0
57 / 56 / 17
Регистрация: 28.07.2009
Сообщений: 201
04.04.2016, 17:04 6
Согласен. ступил-забыл.
0
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 32
04.04.2016, 20:41  [ТС] 7
а можно немного подробнее объяснить вторую строчку? я просто новичок в этом
0
20 / 37 / 9
Регистрация: 09.06.2015
Сообщений: 176
04.04.2016, 20:49 8
Метод Next выводит случайное число из заданого диапазона.
1
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 32
08.04.2016, 20:02  [ТС] 9
А возможен вывод всех значений, но в случайном порядке?
0
20 / 37 / 9
Регистрация: 09.06.2015
Сообщений: 176
08.04.2016, 21:26 10
Цитата Сообщение от KarlRash Посмотреть сообщение
А возможен вывод всех значений, но в случайном порядке?
можно, но ток через list
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
List<string> myArr = new List<string>
            { 
             "Вика",
            "Саша",
            "Костя",
            "Маша",
            "Никита",
            "Диана",
            "Даша",
            "Лёша",
            "Влад Быков",
            "Влад Волков",
            };
            Random rand = new Random();
            for (int i = myArr.Count; i > 0; i--)
            {
                int flag = rand.Next(myArr.Count);
                Console.WriteLine(myArr[flag]);
                myArr.RemoveAt(flag);
            }
1
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 32
08.04.2016, 21:28  [ТС] 11
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            string[] myArr = { "Вика" , "Саша" , "Костя" , "Маша" , "Никита" , "Диана" , "Даша" , "Лёша" , "Влад Быков" , "Влад Волков" };
 
            int i = 0;
            
            Random rand = new Random();
 
            while (i < 10)
            {
                i = i + 1;
              
              
                Console.WriteLine(myArr[rand.Next(i)]);
 
            }
эта программа выводит сразу всех в случайном порядке, но как избежать повторений?
Миниатюры
Как вывести случайное значение из массива?  
0
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 32
08.04.2016, 21:31  [ТС] 12
а цикл while не может подойти здесь?
0
20 / 37 / 9
Регистрация: 09.06.2015
Сообщений: 176
08.04.2016, 21:34 13
Цитата Сообщение от KarlRash Посмотреть сообщение
эта программа выводит сразу всех в случайном порядке, но как избежать повторений?
Я же Вам сказал, через List., попробуйте мой вариант, там нет повторений, так как каждое выведенный элемент, тут же удаляется, а в массиве это невозможно реализовать без создания нового массива.
1
08.04.2016, 21:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2016, 21:34
Помогаю со студенческими работами здесь

Случайное значение массива, не равное заданному
Привет всем. Задача: имеется массив, например $arr с таким содержимым (ключ--значение): 0--4...

Присвоить элементу массива случайное значение (Random)
Уважаемые пользователи сайта, помогите пожалуйста в проблеме: Как присвоить в Pascal (формы) к...

Как получить случайное значение переменной?
ЛЮди привет помгите мне плиз может конечно ламерский вопрос как получить случайное значение...

Как вывести случайное число?
Ребят, как вывести случайное число? Нужно чтобы могло рандомное число могло быть и положительным и...


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

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