Программа не работает правильно без "Console.ReadLine()" - C#
Формулировка задачи:
Помогите решить проблему. Пишу программу, которая генерирует 45 случайных шестиразрядных чисел. Условие задачи такого, что цифры в числах не должны повторяться. После чего программа считает какая цифра в этих числах повторяется чаще всего. Я написал весь код к этой задаче: и генератор чисел, и подсчет цифр. Но! Программа работает только, если после каждого сгенерированного числа ожидается ввод с клавиатуры(Console.ReadLine()). Объясните в чем проблема. Если убрать строку Console.ReadLine() то все числа будут одинаковыми. Как исправить эту ошибку?
Ниже приведен код(методы для генерации чисел и метод Main). Часть кода я вырезал.
static int Generate()
{
int[] mass = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
string s = "";
Random r = new Random();
for (int i = 0; i < 6; i++)
{
if (i == 0)
{
int ran = r.Next(0, mass.Length - 2);
s += mass[ran];
mass = DelEl(mass, ran);
}
else
{
int ran = r.Next(0, mass.Length - 1);
s += mass[ran];
mass = DelEl(mass, ran);
}
}
return int.Parse(s);
}
static int[] DelEl(int[] mass, int ran)
{
int[] mass2 = new int[mass.Length - 1];
for (int i = 0; i < mass2.Length; i++)
{
if (i < ran)
mass2[i] = mass[i];
else
mass2[i] = mass[i + 1];
}
return mass2;
}
static void Main(string[] args)
{
int[] array = new int[45];
Console.WriteLine("Автоматическое генерирование чисел:");
for(int i = 0; i < array.Length; i ++)
{
array[i] = Generate();
Console.ReadLine(); // Если убрать эту строку, то все значения элементов будет одинаковыми!
Console.WriteLine("Число номер {0, 2} получило значение = {1}", i + 1, array[i]);
}
Console.ReadLine();
}Решение задачи: «Программа не работает правильно без "Console.ReadLine()"»
textual
Листинг программы
static readonly Random r = new Random();
static int Generate()
{
int[] mass = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
string s = "";
...