Смешать массив без повторений - C#
Формулировка задачи:
Доброго времени суток.
Нужно смешать массив без повторений, прочел большую кучу ссылок, множество тем на нашем форуме.. И всё равно не могу понять как это сделать, вот пробовал сделать, но всё равно повторы есть.
public static void RandomArray() { string[] ArrayOfFilms = new string[] { "Человек из стали", "Тёмный рыцарь: Возрождение легенды", "Зелёный Фонарь", "Джона Хекс", "Хранители", "Тёмный рыцарь", "Супермен 2: Версия Ричарда Доннера", "Возвращение Супермена", "Бэтмен: Начало", "Константин: Повелитель тьмы", "Женщина - кошка", "Сталь", "Бэтмен и Робин", "Бэтмен навсегда", "Тень", "Люди Икс: Последняя битва", "Призрачный гонщик", "Человек - паук 3: Враг в отражении", "Фантастическая четвёрка: Вторжение Серебряного сёрфера", "Железный человек", "Невероятный Халк", "Каратель: Территория войны", "Люди Икс: Начало.Росомаха"}; Random random = new Random(); for (int i = ArrayOfFilms.Length - 1; i >= 0; i--) { int j = random.Next(i); var temp = ArrayOfFilms[i]; ArrayOfFilms[i] = ArrayOfFilms[j]; ArrayOfFilms[j] = temp; Console.WriteLine(temp); } }
Решение задачи: «Смешать массив без повторений»
textual
Листинг программы
string[] ArrayOfFilms = new string[] { "Человек из стали", "Тёмный рыцарь: Возрождение легенды", "Зелёный Фонарь", "Джона Хекс", "Хранители", "Тёмный рыцарь", "Супермен 2: Версия Ричарда Доннера", "Возвращение Супермена", "Бэтмен: Начало", "Константин: Повелитель тьмы", "Женщина - кошка", "Сталь", "Бэтмен и Робин", "Бэтмен навсегда", "Тень", "Люди Икс: Последняя битва", "Призрачный гонщик", "Человек - паук 3: Враг в отражении", "Фантастическая четвёрка: Вторжение Серебряного сёрфера", "Железный человек", "Невероятный Халк", "Каратель: Территория войны", "Люди Икс: Начало.Росомаха"}; List<string> ListOfFilms = ArrayOfFilms.ToList<string>(); List<string> RandomListOfFilms = new List<string>(); Random rnd = new Random(); while (ListOfFilms.Count != 0) { string temp = ListOfFilms[rnd.Next(0, ListOfFilms.Count-1)]; ListOfFilms.Remove(temp); RandomListOfFilms.Add(temp); } string[] RandomArrayOfFilms = RandomListOfFilms.ToArray<string>();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д