Сгенерируйте одно число и заполните массив - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно сгенерировать только одно число и заполнить это число в массиве из 15 элементов.

Мой код:

        static void Main(string[] args)
        {
            int[] array = new int[15];
            Console.WriteLine("Generate array: ");
            Generator(array);
            Console.WriteLine();
            GeneratorConst(array);

            Console.ReadKey();
        }

        static void Generator(int[] array)
        {
            Random rnd = new Random();
            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rnd.Next(1, 30);
                Console.Write(array[i] + ", ");
            }
        }

        static void GeneratorConst(int[] array)
        {
            for (int i = 0; i < array.Length; i++)
            {
                Console.Write(array[i] + ", ");
            }
        }

Теперь я генерирую 15 различных чисел. Как я могу исправить это, чтобы получить только одно одинаковое число в каждой позиции в массиве из 15 элементов?

Ответы [ 3 ]

3 голосов
/ 16 июня 2020

измените свой код следующим образом:

 static void Generator(int[] array)
    {
        Random rnd = new Random();
        var num = rnd.Next(1, 30);
        for (int i = 0; i < array.Length; i++)
        {
            array[i] = num;
        }
    }

rnd. Далее идет строка, в которой генерируется номер, что означает, что каждый раз, когда вы вызываете его, вы получаете новый номер. извлекая его из l oop, вы генерируете одно число, а затем присваиваете это число массиву на каждой итерации

1 голос
/ 16 июня 2020

Мне лично нравится этот способ, потому что он немного чище:

public static int[] Generator()
{
    var randNum = new Random().Next(1, 30);
    arr = Enumerable.Repeat(randNum, arr.Length).ToArray();
    return arr;
}
0 голосов
/ 16 июня 2020

Что-то вроде этого?

static void GeneratorConst(int[] array)
{
    Random rnd = new Random();
    var val = rnd.Next(1, 30);
    for (int i = 0; i < array.Length; i++)
    {
        array[i] = val;
        Console.Write(array[i] + ", ");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...