Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1.  
  2. Public Class Form1
  3.  
  4. 'Процедура ввода массива
  5. Public Sub form_mass(ByRef x() As Single, ByVal a As Single, ByVal b As Single, ByVal n As Integer)
  6. ReDim x(n - 1) 'задаем кол-во элементов в массиве
  7. For i = 0 To n - 1
  8. x(i) = a + (b - a) * Rnd() 'вводим рандомно эл-ты массива
  9. Next
  10. End Sub
  11.  
  12. 'Процедура вывода массива
  13. Public Sub PrintL(ByRef x() As Single, ByRef LB As ListBox)
  14. For i = 0 To UBound(x)
  15. LB.Items.Add(Format(x(i), "00.00"))
  16. Next
  17. End Sub
  18.  
  19. 'Процедура перестановки элементов стоящих на нечетных позициях в первую половину массива а на четных - во вторую
  20. Public Sub ismenenie(ByRef x() As Single)
  21. Dim Y() As Single 'массив который мы сформируем и после присвоим исходному массиву Х
  22. Dim k As Integer 'номер элемента в массиве Y
  23. ReDim Y(UBound(x)) 'задаем кол-во элементов в массиве Y
  24. k = 0
  25. For i = 0 To UBound(x) Step 2 'переносим в первую часть массива эл-ты стоящие на нечетных позициях
  26. Y(k) = x(i)
  27. k = k + 1
  28. Next
  29. For i = 1 To UBound(x) Step 2 'переносим во вторую часть массива эл-ты стоящие на четных позициях
  30. Y(k) = x(i)
  31. k = k + 1
  32. Next
  33. x = Y
  34. End Sub
  35.  
  36. 'ф-ция нахождения номера минимального эл-та массива
  37. Public Function num_min(ByVal x() As Single) As Integer
  38. Dim imin As Integer = 0 'номер мин. эл-та массива
  39. For i = 1 To UBound(x)
  40. 'сравниваем мин. элемент массива с другими эл-тами, и если он больше, то сохраняем его номер
  41. If x(i) < x(imin) Then imin = i
  42. Next
  43. num_min = imin
  44. End Function
  45.  
  46. 'событийная процедура
  47. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  48. Dim X(), a, b As Single
  49. Dim n As Integer
  50.  
  51. 'ввод исходных данных
  52. a = Val(TextBox1.Text)
  53. b = Val(TextBox2.Text)
  54. n = Val(TextBox3.Text)
  55. form_mass(X, a, b, n) 'формируем массив рандомом и после выводим его в листбокс
  56. PrintL(X, ListBox1)
  57.  
  58. TextBox4.Text = Str(X(num_min(X))) 'выводим значение мин. эл-та массива
  59. TextBox5.Text = Str(num_min(X) + 1) 'выводим номер мин. эл-та массива
  60.  
  61. ismenenie(X) 'меняем исходный массив и после выводим в листбокс
  62. PrintL(X, ListBox2)
  63. End Sub
  64.  
  65. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  66. Me.Close()
  67. End Sub
  68. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement