Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Python byname
2 / 3 / 1
Регистрация: 06.03.2018
Сообщений: 109
1

Как циклом создать разные рандомные числа в массив

12.10.2019, 19:46. Просмотров 884. Ответов 9

Есть метод создающий рандомные числа
Пытаюсь добавить разные рандомные числа в массив через цикл
Получилось сделать только повторяющиеся числа
Как сделать чтобы цифры в массиве были разные?


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 static void Main(string[] args)
        {
 
            int[] john = new int[5];
            for (int i=0; i<john.Length; i++)
            {
                //создать в массив РАЗНЫЕ рандомные числа в диапазоне от 1 до 25
            }
 
        }
 
        static int Rnd(int a, int b)
        {
            Random rnd = new Random(); 
            return rnd.Next(a, b);
        }
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2019, 19:46
Ответы с готовыми решениями:

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

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

Разные рандомные массивы
Необходимо создать 2 метода с разным типом генерации рандомных массивов. Первый генерирует такой...

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

Как добавить рандомные числа в массив?
Ребят, как добавить к последовательности из 10 нулей рандомные числа? (void add(int x) нужно...

9
Чипс
28 / 25 / 6
Регистрация: 21.08.2015
Сообщений: 446
12.10.2019, 19:49 2
лови:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    class Program
    {
        static void Main(string[] args)
        {
 
            int[] john = new int[5];
            for (int i = 0; i < john.Length; i++)
            {
                john[i] = Rnd(1, 25);
            }
 
        }
 
        static int Rnd(int a, int b)
        {
            Random rnd = new Random();
            return rnd.Next(a, b);
        }
    }
0
Python byname
2 / 3 / 1
Регистрация: 06.03.2018
Сообщений: 109
12.10.2019, 19:53  [ТС] 3
Чипс, я так и сделал. В таком случае в массив передаются одинаковые рандомные числа, а не 5 различных
0
Чипс
28 / 25 / 6
Регистрация: 21.08.2015
Сообщений: 446
12.10.2019, 19:58 4
С задержкой потока:
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
class Program
    {
        static void Main(string[] args)
        {
 
            int[] john = new int[5];
            for (int i = 0; i < john.Length; i++)
            {
                john[i] = Rnd(1, 25);
                Thread.Sleep(100); //Задержка потока
            }
 
            for (int j = 0; j < john.Length; j++)
            {
                Console.WriteLine(john[j].ToString());
                
            }
            Console.ReadKey();
        }
 
        static int Rnd(int a, int b)
        {
            Random rnd = new Random();
            return rnd.Next(a, b);
        }
    }
0
12.10.2019, 19:58
Python byname
2 / 3 / 1
Регистрация: 06.03.2018
Сообщений: 109
12.10.2019, 20:04  [ТС] 5
Чипс, Имя "Thread" не существует в текущем контексте
0
Чипс
28 / 25 / 6
Регистрация: 21.08.2015
Сообщений: 446
12.10.2019, 20:07 6
Цитата Сообщение от Python byname Посмотреть сообщение
Имя "Thread" не существует в текущем контексте
Добавь :
C#
1
using System.Threading;
Это там наверху, где все using

Добавлено через 1 минуту
Ну или так :
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
class Program
    {
        static void Main(string[] args)
        {
 
            int[] john = new int[5];
            for (int i = 0; i < john.Length; i++)
            {
                john[i] = Rnd(1, 25);
                System.Threading.Thread.Sleep(100); //Задержка потока
            }
 
            for (int j = 0; j < john.Length; j++)
            {
                Console.WriteLine(john[j].ToString());
                
            }
            Console.ReadKey();
        }
 
        static int Rnd(int a, int b)
        {
            Random rnd = new Random();
            return rnd.Next(a, b);
        }
    }
0
Python byname
2 / 3 / 1
Регистрация: 06.03.2018
Сообщений: 109
12.10.2019, 20:15  [ТС] 7
Чипс, спасибо, работает
А можно сделать как-то без Thread.Sleep, а то я даже не знаю еще что это такое?

Добавлено через 15 секунд
Чипс, спасибо, работает
А можно сделать как-то без Thread.Sleep, а то я даже не знаю еще что это такое?
0
Чипс
28 / 25 / 6
Регистрация: 21.08.2015
Сообщений: 446
12.10.2019, 20:24 8
Цитата Сообщение от Python byname Посмотреть сообщение
А можно сделать как-то без Thread.Sleep
Тогда так :

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
class Program
    {
        static Random rnd = new Random(); 
 
        static void Main(string[] args)
        {
            int[] john = new int[5];
            for (int i = 0; i < john.Length; i++)
            {
                john[i] = Rnd(1, 25);
            }
 
            for (int j = 0; j < john.Length; j++)
            {
                Console.WriteLine(john[j].ToString());
                
            }
            Console.ReadKey();
        }
 
        static int Rnd(int a, int b)
        {
            return rnd.Next(a, b);
        }
    }
2
Даценд
Модератор
Эксперт .NET
5070 / 4321 / 2802
Регистрация: 20.04.2015
Сообщений: 7,783
12.10.2019, 20:57 9
Лучший ответ Сообщение было отмечено Python byname как решение

Решение

Python byname, Чипс,
объясните, а зачем получение случайного числа вынесено в отдельный метод?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void Main()
{
    Random rnd = new Random();
    int[] john = new int[5];
    for (int i = 0; i < john.Length; i++)
    {
        john[i] = rnd.Next(1, 25);
    }
 
    for (int j = 0; j < john.Length; j++)
    {
        Console.WriteLine(john[j].ToString());
    }
    Console.ReadKey();
}
0
Чипс
28 / 25 / 6
Регистрация: 21.08.2015
Сообщений: 446
13.10.2019, 07:08 10
Цитата Сообщение от Даценд Посмотреть сообщение
объясните, а зачем получение случайного числа вынесено в отдельный метод?
Человек так захотел, зачем ему это надо я не знаю.

Вывод рандомного числа через метод

Да мало-ли зачем такое может понадобится, может у него план по созданию казино с блек джеком и ... =)
0
13.10.2019, 07:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2019, 07:08

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

Массив и рандомные числа
Прошу прощения за возможно глупый вопрос но я никак не пойму где ошибка. По непонятным мне...

Считать из текстового файла рандомные числа и поместить в отдельный массив
Помогите,не могу разобраться.Вот у меня есть текстовой файл,в нем скажем есть 30 000 разных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.