Смешать массив без повторений - C#

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

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

Доброго времени суток. Нужно смешать массив без повторений, прочел большую кучу ссылок, множество тем на нашем форуме.. И всё равно не могу понять как это сделать, вот пробовал сделать, но всё равно повторы есть.
Листинг программы
  1. public static void RandomArray()
  2. {
  3. string[] ArrayOfFilms = new string[] { "Человек из стали", "Тёмный рыцарь: Возрождение легенды", "Зелёный Фонарь",
  4. "Джона Хекс", "Хранители", "Тёмный рыцарь", "Супермен 2: Версия Ричарда Доннера", "Возвращение Супермена", "Бэтмен: Начало",
  5. "Константин: Повелитель тьмы", "Женщина - кошка", "Сталь", "Бэтмен и Робин", "Бэтмен навсегда", "Тень", "Люди Икс: Последняя битва",
  6. "Призрачный гонщик", "Человек - паук 3: Враг в отражении", "Фантастическая четвёрка: Вторжение Серебряного сёрфера",
  7. "Железный человек", "Невероятный Халк", "Каратель: Территория войны", "Люди Икс: Начало.Росомаха"};
  8. Random random = new Random();
  9. for (int i = ArrayOfFilms.Length - 1; i >= 0; i--)
  10. {
  11. int j = random.Next(i);
  12. var temp = ArrayOfFilms[i];
  13. ArrayOfFilms[i] = ArrayOfFilms[j];
  14. ArrayOfFilms[j] = temp;
  15. Console.WriteLine(temp);
  16. }
  17. }

Решение задачи: «Смешать массив без повторений»

textual
Листинг программы
  1. string[] ArrayOfFilms = new string[]  { "Человек из стали", "Тёмный рыцарь: Возрождение легенды", "Зелёный Фонарь", "Джона Хекс", "Хранители", "Тёмный рыцарь", "Супермен 2: Версия Ричарда Доннера", "Возвращение Супермена", "Бэтмен: Начало", "Константин: Повелитель тьмы", "Женщина - кошка", "Сталь", "Бэтмен и Робин", "Бэтмен навсегда", "Тень", "Люди Икс: Последняя битва", "Призрачный гонщик", "Человек - паук 3: Враг в отражении", "Фантастическая четвёрка: Вторжение Серебряного сёрфера", "Железный человек", "Невероятный Халк", "Каратель: Территория войны", "Люди Икс: Начало.Росомаха"};
  2. List<string> ListOfFilms = ArrayOfFilms.ToList<string>();
  3. List<string> RandomListOfFilms = new List<string>();
  4. Random rnd = new Random();
  5. while (ListOfFilms.Count != 0)
  6. {
  7.     string temp = ListOfFilms[rnd.Next(0, ListOfFilms.Count-1)];
  8.     ListOfFilms.Remove(temp);
  9.     RandomListOfFilms.Add(temp);
  10. }
  11. string[] RandomArrayOfFilms = RandomListOfFilms.ToArray<string>();

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


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

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

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы