Функция Разложения числа - VB
Формулировка задачи:
Дана функция. Нужно разложить любое натуральное число на числа и потом эти числа сравнить и вывести максимальное. Программа должна быть универсальная
разложить то разложил но как данные числа запомнить и сравнить?
help me...
Листинг программы
- Private Function Cet_zn(ByVal a As Integer)
- While a > 0
- s = a Mod 10
- a = a \ 10
- MsgBox (Str(s))
- Wend
- End Function
- Sub nn()
- Dim a As Integer
- a = InputBox("Введите число:")
- p = Cet_zn(a)
- MsgBox (Str(p))
- End Sub
не дождавшись ответа сделал не универсалку но только для 4 чисел.
мб кому-то пригодиться
Листинг программы
- Private Function mod_cis(ByVal a As Integer)
- mod_cis = a Mod 10
- End Function
- Private Sub div_cis(ByVal a As Integer, ByRef div1 As Integer)
- div1 = a \ 10
- End Sub
- Sub nn()
- Dim a As Integer
- Dim s As Integer
- Dim dl(4) As Integer
- Dim dlin As String
- Dim max As Integer
- Dim p As Integer, p1 As Integer, p2 As Integer, p3 As Integer, p4 As Integer, p5 As Integer
- a = Val(InputBox("Введите число:"))
- dlin = Len(Trim(Str(a)))
- If dlin = 4 Then
- p = mod_cis(a)
- div_cis a, p1
- p2 = mod_cis(p1)
- div_cis p1, p3
- p4 = mod_cis(p3)
- div_cis p3, p5
- dl(1) = p5: dl(2) = p4: dl(3) = p2: dl(4) = p
- For i = 1 To dlin
- If dl(i) > max Then max = dl(i)
- Next
- MsgBox (Str(a) + " Максимальное=" + Str(max))
- Else
- MsgBox ("Не 4-ное число.")
- End If
- End Sub
Решение задачи: «Функция Разложения числа»
textual
Листинг программы
- Function Max_Digit(BYVAL N As Long) As Byte
- While N
- If Max_Digit < N Mod 10 Then Max_Digit = N Mod 10
- N = N \ 10
- Wend
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д