Я хотел бы узнать, как заполнить эту матрицу 10x10, но без повторения цифр, это мой код
int posi = 0, posj = 0, mayor = 0;//declaracion de variables para la posicion y el numero mayor
Console.WriteLine("Matriz de 10*10\n");
int[,] matriz = new int[11, 11]; //Creacion de la matriz de 10*10 (10filas, 10 columnas)
Random aleatorio = new Random();//declaracion del random para llenar la matriz
//se recorre la matriz para asignar los valores
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++)
{
matriz[i, j] = aleatorio.Next(0, 100);
}
// se recorre nuevamente para leer sus valores y validar cual es mayor y capturar su respectiva posicion
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (matriz[i, j] > mayor)//si matriz en la posicion i,j es > mayor
{
mayor = matriz[i, j]; // a mayor -> el valor que hay en la posicion i, j
posi = i; // a la posicion i -> i
posj = j;// a la posicion j -> j
}
//imprimir matriz
Console.Write(matriz[i, j].ToString() + " ");
}
Console.WriteLine();
Вам не хватает алгоритма.. тот, который ищет повторяющиеся элементы массива..
но сначала
это 10х10?? тогда почему вы определяете его как 11X11???
допустим... заменяем это...
на что-то подобное...
а затем... вызываем управляющую функцию
и эта функция... что она делает... проходит через весь массив и возвращается,
true
если он повторяется иfalse
если он не повторяется.тогда... нам будет не хватать только одного... пока эта функция возвращает
false
, мы ничего не сохраняем в массиве... и если она возвращаетtrue
, мы сохраняем...Вы можете использовать HasSet, который изначально хранит 100 чисел случайным образом, а затем выгружает их в матрицу, таким образом, ваш код оптимизируется путем выполнения одного обхода матрицы.
Что-то типа
Таким образом, вам не нужно выполнять функцию проверки, чтобы узнать, было ли число уже сохранено или нет, поскольку HashSet не хранит дубликаты, позже вы проходите через HashSet и сохраняете его в массиве. HashSet — это неупорядоченная коллекция, которая не допускает дублирования.
Другим альтернативным решением может быть