Вывод элементов массива в случайном порядке - C#
Формулировка задачи:
У меня есть вот что:
но после того как я ввожу кол-во элементов например 10, то он пишет что выход за границы диапазона... а как сделать чтобы элементы выводились рандомно и при этом если больше 9 то еще и повторялись?
Заранее спасибо!
public void Init() { Mammals a1 = new Mammals("Кошка", "Муська", 3, "Хищные"); Mammals a2 = new Mammals("Дельфин", "Лори", 80, "Китообразные"); Mammals a3 = new Mammals("Тушканчик", "Туня", 0.1, "Грызуны"); Artiodactyls b1 = new Artiodactyls("Лашадь", "Стрела", 90, false); Artiodactyls b2 = new Artiodactyls("Корова", "Ночка", 100, true); Artiodactyls b3 = new Artiodactyls("Олень", "Иммануил", 150, true); Birds c1 = new Birds("Орел", "Боря", 2, 100); Birds c2 = new Birds("Синица", "Синька", 0.3, 40); Birds c3 = new Birds("Ворон", "Дрон", 2, 50); animArr[0] = a1; animArr[1] = a2; animArr[2] = a3; animArr[3] = b1; animArr[4] = b2; animArr[5] = b3; animArr[6] = c1; animArr[7] = c2; animArr[8] = c3; Console.WriteLine("Введите количество элементов массива:"); int numElementOfArr = Convert.ToInt32(Console.ReadLine()); int i = 0; while (i < numElementOfArr) { int temp = r.Next(numElementOfArr); if (animArr[temp] != null) { animArr[temp] = animArr[r.Next(9)]; } for (i = 0; i < numElementOfArr; i++) { Console.WriteLine(Convert.ToString(animArr[i])); } } }
Решение задачи: «Вывод элементов массива в случайном порядке»
textual
Листинг программы
class Program { static void Main(string[] args) { Random rand = new Random(); int[] mas = { 1, 2, 3, 4 }; mas = mas.OrderBy(x => rand.Next()).ToArray(); Console.WriteLine(string.Join("\n", mas)); Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д