Вывод массива в консоль и отбор различных чисел - C#
Формулировка задачи:
Добрый день! Есть задание : Дан массив случайных целых чисел a размером n, 4<ai<15. Посчитать, сколько различных чисел в этом массиве. Чтобы проверить верно ли выполняется метод, хотела добавить вывод в консоль, перебрала несколько вариантов, но не получилось. Пыталась в ручную вводить массив, результат ввыводит неверный. Помогите исправить пожалуйст
static void third()
{
Console.WriteLine("Введите размер массива");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for (int i = 0; i < n; i++)
{
Random rand = new Random();
a[i]= rand.Next(5, 14);
//Console.Write("Ваш массив: ");
// Console.Write(a[i]);
}
// Console.WriteLine("Ваш массив: "+ v);
int s = 0;
for (int i = 0; i < a.Length; i++)
{
for (int j = i + 1; j < a.Length; j++)
{
if (a[i] != a[j]) s++;
}
}
Console.WriteLine("Различных элементов в Вашем массиве- " + s);Решение задачи: «Вывод массива в консоль и отбор различных чисел»
textual
Листинг программы
Console.WriteLine("Введите размер массива");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
Random rand = new Random(); //инициализируем до цикла
for (int i = 0; i < n; i++)
{
a[i] = rand.Next(5, 14);
}
Console.WriteLine(string.Join(" ", a)); //вывод массива
int s = 0;
for (int i = 0; i < a.Length; i++)
{
bool isUnique = true; //флаг уникальности
for (int j = 0; j < i; j++)
{
if (a[i] == a[j]) isUnique=false; //если число уже было, то флаг = false
}
if (isUnique) s++; //если значение уникальное увеличиваем счетчик
}
Console.WriteLine("Различных элементов в Вашем массиве- " + s);