Заполнить массив уникальными числами - C#
Формулировка задачи:
Не понимаю, что я не так делаю Помогите пожалуйста понять, а не сделать.
int[] array = new int[10]; Random random = new Random(); array[0] = random.Next(1, 11); Console.WriteLine(array[0]); for (int a = 1; a < array.Length; a++) { array[a] = random.Next(1, 11); while (array[a] == array[a - 1]) { array[a] = random.Next(1, 11); } Console.WriteLine(array[a]); } Console.ReadKey();
Я понял, что после выполнения while цикл for работает дальше. А как сделать так, чтобы он проверял (сравнивал) числа до тех пор, пока не будет уникальное число. И как сделать так, чтобы он сравнивал и предыдущие числа?
Я запутался в логике. Я не понимаю, что и куда вставлять.
Вот я заполняю массив. Теперь, вроде бы, кажется, что надо всего лишь сделать проверку массива индекса а с индексом а-1, и если есть совпадение, то присвоить новое значение индексу а. Если совпадения нет, то делать следующую итерацию.
int[] array = new int[10]; Random random = new Random(); for (int a = 0; a < array.Length; a++) { array[a] = random.Next(1, 11); Console.WriteLine(array[a]); } Console.ReadKey();
И ещё нужно сделать так, чтобы он проверял не просто а-1, а каждое число меньше, где -1 - это переменная, которая увеличивается на +1, пока не достигнет нуля.
Получилась такая конструкция, но я не понимаю, как она работает.
int[] array = new int[10]; Random random = new Random(); for (int a = 0; a < array.Length; a++) { for (int b = 1; b > array.Length; b++) { if (array[a] == array[a - b]) { if ((a - b) >= 0) { } } } array[a] = random.Next(1, 11); Console.WriteLine(array[a]); } Console.ReadKey();
Решение задачи: «Заполнить массив уникальными числами»
textual
Листинг программы
static int[] CreateRandomArray(int minValue, int length) { var random = new Random(); int[] array = new int[length]; for (int i = 0; i < length; ++i) { bool isUnique; do { array[i] = random.Next(minValue, minValue + length); isUnique = true; for (int j = 0; j < i; ++j) if (array[i] == array[j]) { isUnique = false; break; } } while (!isUnique); } return array; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д