Dim i As Integer
Dim n As String
Dim A(21) As String
For i = 1 To 21
A(1) = "Алимова"
A(2) = "Алпатов"
A(3) = "Бахматова"
A(4) = "Гасанова"
A(5) = "Гусь"
A(6) = "Евдкаимов"
A(7) = "Жолдошева"
A(8) = "Зайко"
A(9) = "Коваленко"
A(10) = "Кожевникова"
A(11) = "Кравцов"
A(12) = "Куликова"
A(13) = "Кураченко"
A(14) = "Михайлова"
A(15) = "Назаров"
A(16) = "Никулин"
A(17) = "Пинчук"
A(18) = "Сафаров"
A(19) = "Филатов"
A(20) = "Халидов"
A(21) = "Храмова"
Next
n = InputBox("напишите ученика")
If A(i) = n Then
MsgBox("Такой ученик есть")
Else
MsgBox("нет")
End If
End Sub
Другие языки программирования и технологии
Помогите Basic. Программирование. Индекс выходит за границы массива. Где ошибка?
Visual Basic 6.0
' Нажатие кнопки на форме
Private Sub Command1_Click()
' Создаем массив 21 элемент (0-20)
Dim A(20) As String
' Заполняем массив
A(0) = "Алимова"
A(1) = "Алпатов"
A(2) = "Бахматова"
A(3) = "Гасанова"
A(4) = "Гусь"
...
A(20) = "Храмова"
' Запрос фамилии
Dim n As String
n = InputBox("Введите фамилию ученика")
' Поиск в массиве
Dim i As Integer
For i = 0 To Ubound(A)
If A(i) = n Then
MsgBox("Такой ученик есть")
Exit Sub ' досрочно выходим из процедуры
End If
Next i
' Массив перебрали, фамилии не нашли
MsgBox("Нет такого ученика")
End Sub
' Нажатие кнопки на форме
Private Sub Command1_Click()
' Создаем массив 21 элемент (0-20)
Dim A(20) As String
' Заполняем массив
A(0) = "Алимова"
A(1) = "Алпатов"
A(2) = "Бахматова"
A(3) = "Гасанова"
A(4) = "Гусь"
...
A(20) = "Храмова"
' Запрос фамилии
Dim n As String
n = InputBox("Введите фамилию ученика")
' Поиск в массиве
Dim i As Integer
For i = 0 To Ubound(A)
If A(i) = n Then
MsgBox("Такой ученик есть")
Exit Sub ' досрочно выходим из процедуры
End If
Next i
' Массив перебрали, фамилии не нашли
MsgBox("Нет такого ученика")
End Sub
чему равно i в этой строке If A(i) = n Then ?
В массиве нету 21-ого элемента.
В Вашем массиве, их только 20, и нумеровать их нужно с 0, а не с 1.
Тогда всё сойдётся.
В Вашем массиве, их только 20, и нумеровать их нужно с 0, а не с 1.
Тогда всё сойдётся.
Попробуйте так:
Dim i, j As Integer
Dim n As String
Dim A As Variant
A = Array("Алимова", "Алпатов", "Бахматова", "Гасанова", "Гусь", "Евдокимов", "Жолдошева", "Зайко", "Коваленко", "Кожевникова", "Кравцов", "Куликова", "Кураченко", "Михайлова", "Назаров", "Никулин", "Пинчук", "Сафаров", "Филатов", "Халидов", "Храмова")
j = 0
n = InputBox("Напишите фамилию ученика: ")
For i = 0 To 20
If A(i) = n Then
j = i
End If
Next
If j <> 0 Then
MsgBox ("Такой ученик есть")
Else
MsgBox ("Такого ученика нет")
End If
End Sub
Dim i, j As Integer
Dim n As String
Dim A As Variant
A = Array("Алимова", "Алпатов", "Бахматова", "Гасанова", "Гусь", "Евдокимов", "Жолдошева", "Зайко", "Коваленко", "Кожевникова", "Кравцов", "Куликова", "Кураченко", "Михайлова", "Назаров", "Никулин", "Пинчук", "Сафаров", "Филатов", "Халидов", "Храмова")
j = 0
n = InputBox("Напишите фамилию ученика: ")
For i = 0 To 20
If A(i) = n Then
j = i
End If
Next
If j <> 0 Then
MsgBox ("Такой ученик есть")
Else
MsgBox ("Такого ученика нет")
End If
End Sub
Похожие вопросы
- Пожалуйста проверьте, правильно ли составлен программный код, выходит ошибка "Индекс находится вне границы массива
- Почему Индекс находится вне границ массива ?
- Как жаль оператор используется в Visal Basic программирования?
- Привет, помогите с программированием на СИ, передача массива в функцию..
- ПОМОГИТЕ СДЕЛАТЬ ПРОГРАММИРОВАНИЕ ЛВУМЕРНЫЙ МАССИВ
- Здравствуйте помогите в программирование на ассемблере. Нужно зеркально отобразить массив из 256 байт
- Программирование С++ Что такое Динамические массивы?
- Подскажите пожалуйста, программирование в 1С. Нужно сгенерировать массив....
- ПОМОГИТЕ, ДОБРЫЕ ЛЮДИ!!! Язык С++, записать в массив d нечетные элементы массива А которых нет в В - НЕ ПОЛУЧАЕТСЯ
- Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!