Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности - VB
Формулировка задачи:
Всем привет! Благодарю, за то что читаете это. Я являюсь студентом в одном из вузов Белгорода. Есть такой предмет именуемый как ИТ. Так вот, приступил к выполнению очередной лаб работе, 4 по счету и столкнулся с проблемой. Не могу правильно написать программу Visual Basic, где-то очевидная ошибка или недочет. Вопрос где?
Задание:
Дана произвольной длины последовательность вещественных чисел. Найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности.
Половину задачи сделал, находит из последовательности наименьшее и выдает под каким номером в последовательности. Но как сделать что бы сумму всех чисел, которые делятся на 3, находил?
Листинг программы
- Sub primer()
- Dim s As Variant
- Dim N As Variant
- Dim i As Integer
- Dim x As Variant
- Dim priznak As Boolean
- Dim minX As Integer
- Dim minN As Integer
- priznak = False
- Do
- Do
- N = InputBox("Кол-во чисел в последовательности")
- Loop Until IsNumeric(N)
- Loop Until N = CInt(N)
- For i = 1 To N Step 1
- Do
- Do
- x = InputBox("Введите целое число №" & i)
- Loop Until IsNumeric(x)
- Loop Until x = CInt(x)
- If x Mod 3 = 0 Then
- If priznak = False Then
- minX = x
- minN = i
- priznak = True
- s = x + s
- ElseIf x < minX Then
- minX = x
- minN = i
- End If
- End If
- Next i
- If priznak = True Then
- MsgBox "Наименьшее число, делящееся на 3 = " _
- & minX & Chr(13) & "Его № = " & minN & "Сумма чисел, делящихся на 3 = " & s
- Else
- MsgBox "Нужных чисел нет"
- End If
- End Sub
Решение задачи: «Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности»
textual
Листинг программы
- Sub primer()
- Dim s As Single
- Dim N
- Dim i As Integer
- Dim x As Single
- Dim priznak As Boolean
- Dim minX As Single
- Dim minN As Integer
- priznak = False
- Do
- Do
- N = InputBox("Кол-во чисел в последовательности")
- Loop Until IsNumeric(N)
- Loop Until N = CInt(N)
- For i = 1 To N Step 1
- Do
- x = Replace(InputBox("Введите целое число №" & i), ".", ",")
- Loop Until IsNumeric(x)
- If Int(x) Mod 3 = 0 Then
- s = x + s
- If priznak = False Then
- minX = x
- minN = i
- priznak = True
- ElseIf x < minX Then
- minX = x
- minN = i
- End If
- End If
- Next i
- If priznak = True Then
- MsgBox "Наименьшее число, делящееся на 3 = " _
- & minX & Chr(13) & "Его № = " & minN & Chr(13) & "Сумма чисел, делящихся на 3 = " & s
- Else
- MsgBox "Нужных чисел нет"
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д