Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности - VB

Узнай цену своей работы

Формулировка задачи:

Всем привет! Благодарю, за то что читаете это. Я являюсь студентом в одном из вузов Белгорода. Есть такой предмет именуемый как ИТ. Так вот, приступил к выполнению очередной лаб работе, 4 по счету и столкнулся с проблемой. Не могу правильно написать программу Visual Basic, где-то очевидная ошибка или недочет. Вопрос где? Задание: Дана произвольной длины последовательность вещественных чисел. Найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности. Половину задачи сделал, находит из последовательности наименьшее и выдает под каким номером в последовательности. Но как сделать что бы сумму всех чисел, которые делятся на 3, находил?
Листинг программы
  1. Sub primer()
  2. Dim s As Variant
  3. Dim N As Variant
  4. Dim i As Integer
  5. Dim x As Variant
  6. Dim priznak As Boolean
  7. Dim minX As Integer
  8. Dim minN As Integer
  9. priznak = False
  10. Do
  11. Do
  12. N = InputBox("Кол-во чисел в последовательности")
  13. Loop Until IsNumeric(N)
  14. Loop Until N = CInt(N)
  15. For i = 1 To N Step 1
  16. Do
  17. Do
  18. x = InputBox("Введите целое число №" & i)
  19. Loop Until IsNumeric(x)
  20. Loop Until x = CInt(x)
  21. If x Mod 3 = 0 Then
  22. If priznak = False Then
  23. minX = x
  24. minN = i
  25. priznak = True
  26. s = x + s
  27. ElseIf x < minX Then
  28. minX = x
  29. minN = i
  30. End If
  31. End If
  32. Next i
  33. If priznak = True Then
  34. MsgBox "Наименьшее число, делящееся на 3 = " _
  35. & minX & Chr(13) & "Его № = " & minN & "Сумма чисел, делящихся на 3 = " & s
  36. Else
  37. MsgBox "Нужных чисел нет"
  38. End If
  39. End Sub

Решение задачи: «Как найти сумму чисел, целая часть которых делится нацело на 3, наименьшее из таких чисел, и номер этого числа в последовательности»

textual
Листинг программы
  1. Sub primer()
  2. Dim s As Single
  3. Dim N
  4. Dim i As Integer
  5. Dim x As Single
  6. Dim priznak As Boolean
  7. Dim minX As Single
  8. Dim minN As Integer
  9. priznak = False
  10. Do
  11. Do
  12. N = InputBox("Кол-во чисел в последовательности")
  13. Loop Until IsNumeric(N)
  14. Loop Until N = CInt(N)
  15. For i = 1 To N Step 1
  16. Do
  17.  
  18. x = Replace(InputBox("Введите целое число №" & i), ".", ",")
  19. Loop Until IsNumeric(x)
  20.  
  21. If Int(x) Mod 3 = 0 Then
  22. s = x + s
  23. If priznak = False Then
  24. minX = x
  25. minN = i
  26. priznak = True
  27. ElseIf x < minX Then
  28. minX = x
  29. minN = i
  30. End If
  31. End If
  32. Next i
  33. If priznak = True Then
  34. MsgBox "Наименьшее число, делящееся на 3 = " _
  35. & minX & Chr(13) & "Его № = " & minN & Chr(13) & "Сумма чисел, делящихся на 3 = " & s
  36. Else
  37. MsgBox "Нужных чисел нет"
  38. End If
  39. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы