Другие языки программирования и технологии

помогите разобраться(visual basic)

в программе числа как положительные, так и отрицательные выбираются из диапазона [N,M], их количество задается заранее по запросу программы. Требуется подсчитать количество положительных и отрицательных чисел и напечатать с пояснениями на форме. Вот, то что я написал: Private Sub CommandButton1_Click() Dim n, m, s, k As Long n = Val(InputBox("vedite n")) m = Val(InputBox("vedite m")) s = 0 k = 0 For i = n To m If i > 0 Then s = s + 1 End If If i < 0 Then k = k + 1 End If Next i TextBox1.Text = s TextBox2.Text = k End Sub Не понимаю, что значит "их количество задается заранее по запросу программы", то есть задается число цифр, а диапазон формируется рандомом? Заранее спасибо всем за ответы.
Андрей М
Андрей М
281
Программы надо писать с комментариями. А то, может, Вы хотели написать одно, а вышло другое.. .

Private Sub CommandButton1_Click()
Dim n, m, s, k As Long
Объявление переменных неправильное. В Бейсике тип данного нужно указывать после каждого имени переменной.

n = Val(InputBox("vedite n")) 'Это, судя по всему, просим пользователя ввести границы диапазона чисел
m = Val(InputBox("vedite m"))

s = 0 'Это инициализация переменных для подсчёта количества положительных и отрицательных элементов
k = 0

For i = n To m 'Это цикл перебора значений из заданного пользователем диапазона. Проверяется счётчик цикла, который
последовательно принимает все целые (шаг цикла не указан, значит подразумевается 1) значения между
границами.
If i > 0 Then 'Если счётчик (или, что то же самое, очередной элемент массива) , положительный, то добавляется единица к
количеству положительных чисел.
s = s + 1
End If
If i < 0 Then 'То же самое про отрицательные
k = k + 1
End If
Next i

TextBox1.Text = s
TextBox2.Text = k
End Sub

Так что, вроде, всё правильно.
А значения чисел в диапазоне получилось, что и не нужно, так как они автоматически получаются из граничных значений.
J P
J P
27 562
Лучший ответ
Задается количество цифр - правильно. А сами цифры или вводи с клавы или формируй рандом. Короче обьяви массив (помоему в бэйсике тоже указывают размер массива) чисел. Запроси коли чество. Формируй массив и подсчитуй результат. Естественно когда вводишь количество цифр оно не должно превышать размера массива.
Андрей М спасибо за ответ))но задание надо сделать без использование массива.