Псевдо-рандом без повторений - C#
Формулировка задачи:
Всем доброго времени суток, появилась такая проблема, нужно приложения с рандомом, но рандом только на словах, на самом деле есть список "победителей" с фото которые лежат в массиве, задача такая, что бы вперемешку вытаскивать их и без повторений.
код рандома с массивами прилагаться:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class Example
{
public static void Main()
{
Random rnd = new Random();
string[] malePetNames = { "Влад Ющенко","Святослав Кравцов","Игорь Коготь", "Андрей Круть",
};
string[] femalePetNames = { "Анна Кукушка", "Евгения Черныш", "Юлия Филипова" };
// Generate random indexes for pet names.
int mIndex = rnd.Next(0, malePetNames.Length);
//int fIndex = rnd.Next(0, femalePetNames.Length);
// Display the result.
Console.WriteLine("Suggested pet name of the day: ");
Console.WriteLine(" For a male: {0}", malePetNames[mIndex]);
//Console.WriteLine(" For a female: {0}", femalePetNames[fIndex]);
Console.ReadLine();
}
}
}Решение задачи: «Псевдо-рандом без повторений»
textual
Листинг программы
Random rnd = new Random();
List<string> malePetNames = new List<string> {"Влад Ющенко","Святослав Кравцов","Игорь Коготь", "Андрей Круть"};
int mIndex = rnd.Next(0, malePetNames.Count);
malePetNames.Remove(malePetNames[mIndex]);