Требуется сделать заполнение массива матриц неодинаковыми матрицами 2х2 с элементами от 0 до z. Конкретных функций не нашел, пришлось довольствоваться рандомом. Но все равно в итоге может попасться пара одинаковых матриц. Ошибки не вижу, за помощь заранее спасибо 
Функция заполнения массива (List<>):
| Код | public void Matrix_Make() { Random r = new Random(DateTime.Now.Millisecond); matrixes.Clear(); for (int i = 0; i < Math.Pow(z, 4); i++) { Matrix item = new Matrix(z); int a = 0, b = 0, c = 0, d = 0; while (Cont(a, b, c, d) == true) { a = r.Next(z); b = r.Next(z); c = r.Next(z); d = r.Next(z); } item.elements[0] = a; item.elements[1] = b; item.elements[2] = c; item.elements[3] = d; matrixes.Add(item); } }
|
Проверка на наличие одинаковых элементов:
| Код | public bool Cont(int a, int b, int c, int d) { for (int i = 0; i < matrixes.Count; i++) { if (matrixes[i].elements[0] == a && matrixes[i].elements[1] == b && matrixes[i].elements[2] == c && matrixes[i].elements[3] == d) return true; } return false; }
|
|