Как я могу отклонить повторяющиеся значения, введенные в массив, и предложить повторный ввод, пока не будут введены уникальные данные? - PullRequest
0 голосов
/ 18 мая 2019

Как мне вводить данные в массив и если вводится повторяющееся значение. Программа отклоняет запрос, и пользователю предлагается ввести его повторно, пока не будет введено другое значение.

Мне нужно это для проекта, и я не могу использовать библиотечные функции, такие как If array.Contains. Поэтому мне нужен ручной метод. Даже если это дольше.

Спасибо

For i = 1 To 3
    Console.WriteLine("Input num")
    num(i) = Console.ReadLine()
Next

1 Ответ

0 голосов
/ 19 мая 2019

Кажется, можно использовать вложенный цикл, например:

For i = 1 To 3
    Console.WriteLine("Input num")
    num(i) = Console.ReadLine()
    If i > 1 Then
        For j = i - 1 To 1
            If num(i) = num(j) Then
                Console.WriteLine("Duplicate entered")
                i -= 1
            End If
        Next
    End If
Next

Причина If i > 1 Then состоит в том, чтобы удалить граничное условие, в частности тестирование num(0).

Также,изменение переменной цикла (i -= 1, как я это сделал) внутри цикла For не рекомендуется.Вы можете попробовать цикл, используя While вместо For для внешнего цикла.

...