Я сделал двумерный массив в C# со случайными числами, но я хочу, чтобы числа не повторялись Например, успешный вывод, дающий вход 4 (x), 4 (у), 15 (maxElem), будет:Случайный двухмерный массив неповторяющихся чисел C#
14 | 8 | 1 | 7
3 | 13 | 2 | 4
2 | 6 | 12 | 8
10 | 9 | 4 |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TwoDimensionArray
{
class Program
{
static void Main(string[] args)
{
int x = 4;
int y = 4;
int[,] z = new int[x, y];
Random r = new Random();
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
z[i, j] = r.Next(1, 15);
}
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j < y; j++)
{
if (i == 3 && j == 3)
{
Console.Write(" ");
break;
}
else
{
if (z[i, j] > 9)
Console.Write(z[i, j] + " ");
else
Console.Write(z[i, j] + " ");
}
}
Console.WriteLine();
}
Console.ReadKey();
}
}
}
У вас есть проблемы с текущим кодом, который вы, возможно, не поняли, - путем генерации случайных чисел с 'r.Next (1, 15)' вы получите только значение от '1 .. 14', поскольку второй параметр является эксклюзивной верхней границей. Таким образом, пытаясь генерировать 16 чисел из пула из 14, вы получаете ** дубликаты **. – Enigmativity