Вывод элементов массива в случайном порядке - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть вот что:
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]));
                }
            }
        }
но после того как я ввожу кол-во элементов например 10, то он пишет что выход за границы диапазона... а как сделать чтобы элементы выводились рандомно и при этом если больше 9 то еще и повторялись? Заранее спасибо!

Решение задачи: «Вывод элементов массива в случайном порядке»

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();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы