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 нечетные элементы массива А которых нет в В - НЕ ПОЛУЧАЕТСЯ
 - Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!