Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [VB] определение всех неч/четных в диапозоне


Автор: TikTak696 23.5.2008, 15:09
Помогите надо составить программу вычисляющую произведение всех нечетных чисел на отрезке в заданном диапозоне 

Автор: kapbepucm 23.5.2008, 16:05
Код
Sub Main()
  Dim X1 As Long
  Dim X2 As Long
  Dim Otvet As Double
  Otvet = 0
  On Error GoTo ErrorLabel
  X1 = CLng(InputBox("Первое число:", "Диапазон"))
  X2 = CLng(InputBox("Последнее число", "Диапазон"))
  If X2 >= X1 Then
    Dim I1 As Long, I2 As Long
    For I1 = X1 To X2
      If (I1 Mod 2) = 1 Then
        Otvet = I1
        For I2 = I1 + 1 To X2
          If (I2 Mod 2) = 1 Then
            Otvet = Otvet * I2
          End If
        Next I2
        Exit For
      End If
    Next I1
    If Otvet = 0 Then MsgBox "Не найдено ни одного нечётного числа!" Else MsgBox "Произведение всех нечётных чисел на отрезке в заданном диапозоне=" & CStr(Otvet)
  Else
    MsgBox "Неопределённый диапазон!"
  End If
ExitLabel:
Exit Sub
ErrorLabel:
  If Err.Number = 13 Then Resume Else Resume ExitLabel
End Sub

Автор: TikTak696 23.5.2008, 16:16
Спасибо  smile ) но диапозон задается пользователем в текст бокс и он слде-но любой на его выбор, и не могли бы вы объяснить то, какие объекты надо создать для работы этого кода? Знаю я нуб в ВБ) 
просто обычно на занятиях пишем Private Sub Command1_Click , Text1_change ну и тп, а вот так Sub Main не видел, помогите плз а то в учебнике толком не написано

Автор: kapbepucm 23.5.2008, 16:38
Кинте мой код (естественно, кроме первой и последней строки) в ваш Private Sub Command1_Click. По идее должно сразу заработать.

Автор: TikTak696 23.5.2008, 16:42
Урааааааааааааа  smile 
БольшоЕ Спасибо!) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)