Удалить из массива все элементы, больше данного числа k - VB

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

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

Дан массив целых чисел (n=24), заполненный случайным образом числами из промежутка [-5, 40]. 1) Удалить из него все элементы, больше данного числа k (k вводить с клавиатуры). 2) Переставить все элементы в обратном порядке, расположенные между минимальными и максимальными элементами. Помогите решить пожалуйста)) На зачете.

Решение задачи: «Удалить из массива все элементы, больше данного числа k»

textual
Листинг программы
  1. Option Explicit
  2. Dim a(1 To 24) As Integer, b() As Integer, c() As Integer
  3. Dim i As Integer, j As Integer, k As Integer, min As Integer, max As Integer
  4. Dim iMin As Integer, iMax As Integer
  5. Private Sub Command1_Click()
  6. Randomize 'Иницилизация генератора случайных чисел
  7. Cls       'Очищаем форму
  8. j=0
  9. For i = 1 To 24
  10.      a(i) = Int(46 * Rnd - 5) 'Заполняем массив случайными числами
  11.     Print a(i);
  12. Next i
  13. k = InputBox("Введите  k", , 12)
  14. min = a(1): max = a(1): iMin = 1: iMax = 1
  15. For i = 1 To 24
  16.   If max < a(i) Then max = a(i): iMax = i
  17.   If min > a(i) Then min = a(i): iMin = i
  18.   If a(i) <= k Then
  19.    j = j + 1
  20.    ReDim Preserve b(j)
  21.    b(j) = a(i)
  22.   End If
  23. Next i
  24. Print
  25. Print "Минимальный элемент A ("; iMin; ") = "; min
  26. Print "Максимальный элемент A ("; iMax; ") = "; max
  27. Print
  28. Print "k = "; k
  29. Print " Элементы меньше k"
  30.  
  31. For i = 1 To j
  32.     Print b(i);
  33. Next i
  34. Print
  35. ''''''''''''''''''''''''''''''''''''''''''''''''''''''
  36. ReDim c((Abs(iMin - iMax)) - 1)
  37. If iMin < iMax Then
  38. For i = 1 To Abs((iMin - iMax)) - 1
  39.  c(i) = a(iMin + i)
  40. Next i
  41. Else
  42. For i = 1 To Abs((iMin - iMax)) - 1
  43.  c(i) = a(iMax + i)
  44. Next i
  45. End If
  46. Print
  47. Print " Элементы между Min и Max"
  48. For i = 1 To Abs((iMin - iMax)) - 1
  49.    Print c(i);
  50. Next i
  51. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  52. j = Abs((iMin - iMax)) - 1
  53. If iMin < iMax Then
  54. For i = 1 To j
  55.    a((iMin + i)) = c((j + 1) - i)
  56. Next i
  57. Else
  58. For i = 1 To j
  59.    a((iMax + i)) = c((j + 1) - i)
  60. Next i
  61. End If
  62. Print
  63. Print "Новый массив"
  64. For i = 1 To 24
  65.     Print a(i);
  66. Next i
  67. End Sub

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


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

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

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

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

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

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