2013-11-19 2 views
0

У меня возникли проблемы с упражнением, которое я получил от своего учителя.Поиск номера в массиве

Упражнение: Напишите программу для ввода 5 цифр. Попросите пользователя ввести номер для поиска массива. Программа должна искать этот номер и сообщать пользователю, была ли найдена в массиве или нет. Например, если он был найден, то должно отображаться положение массива, которое занимает число. Например, «Ваш номер - 6. Он был увлечен позицией 3 списка».

Очевидно, что я могу использовать цикл for и получить 5 чисел и поместить их в массив. Но я не уверен, как проверить, находится ли тогда номер, который пользователь хочет найти, в массиве.

Heres моя попытка http://pastebin.com/t2DcdSvU я не уверен, как поместить его в код теги: S

+0

Можете ли вы опубликовать код, который у вас есть до сих пор? Пользователи могут помочь вам расширить его, но сначала хотели бы увидеть ваши первые усилия. –

ответ

0

Вы можете использовать ту же концепцию для поиска массива.

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

Используйте цикл for или любой другой конструктор, который вы хотите заполнить массивом, а затем используйте другой цикл для массива и для каждого значения, выполните сравнение и определите, введен ли пользователь в число, находящееся в массиве.

Если вы получили совпадение, распечатайте полученный индексный номер и вернитесь.

Вот пример кода, который будет делать то, что вам нужно:

Dim value As Integer 
value = 0 
' This loop goes from 0 to 4. 
For index As Integer = 0 To 4 
    value = myArray(index) 
    ' Exit condition if the value is the user number. 
    If (value = usernum) Then 
     Console.writeline("Your number was " & usernum & " found at: " & index & "\n") 
     Exit For 
    End If 
Next 
+0

Это то, что я пробовал http://pastebin.com/t2DcdSvU Но он не работал: C –

+0

Вы можете добавить код в блоки кода, вставив его в свое поле редактирования, выделив и нажав ctrl + k (добавьте 4 места на передний план каждой строки). Я не могу просмотреть что-либо из этого местоположения из-за ограничений в сети, поэтому вам придется вставить его здесь, если я помогу. –

1

Во-первых, получить вам ввод данных пользователем. Итак, допустим, у вас есть массив и целевое значение. Для примера, давайте просто скажем, ваш пользовательский ввод создан следующим образом:

Dim numbers = {1, 2, 9, 6, 4} 
Dim target = 2 

Теперь все, что вам нужно сделать, это цикл по массиву, и сравните цель, к текущему значению массива.

For x = 0 To 4 
    If target = numbers(x) Then 
     MsgBox "Your number is " + target ", found at position " + x 
     Exit For 
    End If 
Next x 
Смежные вопросы