Найти члены последовательности - VB

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

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

Даны натуральные числа n, a1, a2, ..., an. Найти члены последовательности являющиеся полными квадратами. Сделать нужно через Sub/End Sub, с InputBox и MsgBox в ответе. Число n вводиться через клавиатуру, числа a1, a2, ..., an - рандом. И нужно чтоб всё происходило не на листах Exsel'я, а отдельных окнах. Вот пример другой задачи, которую я решил, нужно чтоб выглядело похоже: Задача: Дана строка символов. Подсчитать наибольшее количество идущих подряд пробелов. Мой код:
Листинг программы
  1. Private Sub CommandButton3_Click()
  2. Dim S1, sChar, i, iCol, sMsg
  3. S1 = InputBox("Введите строку")
  4. sMsg = S1
  5. sChar = " "
  6. i = 1
  7. Do
  8. i = InStr(i, S1, sChar)
  9. If i = 0 Then Exit Do
  10. iCol = 0
  11. Do While Mid(S1, i, 1) = sChar
  12. S1 = Replace(S1, sChar, "", 1, 1)
  13. iCol = iCol + 1
  14. Loop
  15. If iCol > imax Then imax = iCol
  16. Loop
  17. If imax = 1 Or imax >= 5 Then
  18. MsgBox "Пробел встречается в строке" & vbNewLine _
  19. & "'" & sMsg & "'" & vbNewLine & "максимум " & imax & " раз подряд."
  20. ElseIf imax = 0 Then
  21. MsgBox "Пробел встречается в строке" & vbNewLine _
  22. & "'" & sMsg & "'" & vbNewLine & "максимум " & imax & "0 раз подряд."
  23. Else
  24. MsgBox "Пробел встречается в строке" & vbNewLine _
  25. & "'" & sMsg & "'" & vbNewLine & "максимум " & imax & " раза подряд."
  26. End If
  27. End Sub

Решение задачи: «Найти члены последовательности»

textual
Листинг программы
  1. Private Sub Command1_Click()
  2. Dim n As Integer, A() As Integer
  3. Dim i As Integer, s As String, ss As String
  4.     n = InputBox("n = ", , 10)
  5.     ReDim A(1 To n)
  6.     Randomize
  7.  
  8.     For i = 1 To n
  9.          A(i) = Int(Rnd * 100 + 1)
  10.          If Sqr(A(i)) = Int(Sqr(A(i))) Then ss = ss & A(i) & "   "
  11.          s = s & CStr(A(i)) & "   "
  12.     Next i
  13.  
  14.     If ss = "" Then
  15.          MsgBox "В ряду чисел" & vbCrLf & s & _
  16.                  vbCrLf & "полных квадратов нет."
  17.     ElseIf UBound(Split(ss, "   ")) = 1 Then
  18.          MsgBox "В ряду чисел" & vbCrLf & s & _
  19.                  vbCrLf & "полным квадратoм является число" & _
  20.                  vbCrLf & ss
  21.     Else
  22.          MsgBox "В ряду чисел" & vbCrLf & s & _
  23.                  vbCrLf & "полными квадратами являются числа" & _
  24.                  vbCrLf & ss
  25.    
  26.     End If
  27.    
  28. End Sub

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


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

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

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

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

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

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