Программа не работает правильно без "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 = ""; ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д