Дан массив из произвольных целых положительных чисел - VB

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

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

Задача в Visual Basic 6.0 Дан массив из произвольных целых положительных чисел. Известно, что в массиве нет одинаковых значений. Заменить в массиве нулями, если это возможно, значения элементов, расположенных до наибольшего и после наи- меньшего значений. Вывести исходный и измененный массивы. Помогите, пожалуйста, алгоритмом, блок-схемой, кодом, чем-нибудь.

Решение задачи: «Дан массив из произвольных целых положительных чисел»

textual
Листинг программы
  1. Option Explicit
  2. '
  3. '   Антихакер32
  4. '
  5. Private Sub Form_Unload(Cancel As Integer)
  6.     Const c = 20, r$ = " "
  7.     Dim s$, n&, sa$, f&
  8.     Dim j$(), j1$(), min&, max&, b As Boolean
  9.    
  10. 1   'Создаём массив где нет одинаковых значений
  11.    s = Space$(c): sa = ""
  12.     min = 0: max = 0
  13.     Randomize Timer
  14.     Do While InStr(1, s, r)
  15.         n = Fix(Rnd * c)
  16.         If Mid$(s, n + 1, 1) = r Then
  17.             Mid$(s, n + 1, 1) = 1
  18.             sa = sa & r & n * 10 + Fix(Rnd * 10)
  19.         End If
  20.     Loop
  21.     j = Split(Mid$(sa, 2))
  22.     'находим максимальное и минимальное
  23.    For f = 0 To c - 1: max = IIf(j(f) > max, j(f), max): Next
  24.     min = max
  25.     For f = 0 To c - 1: min = IIf(j(f) < min, j(f), min): Next
  26.    
  27.     'Обнуляем отрезки между значениями min/max
  28.    j1 = j: n = 0
  29.     For f = 0 To c - 1
  30.         b = j(f) = min Or j(f) = max
  31.  
  32.         If b And n = 0 Then
  33.             n = 1
  34.         ElseIf b And n = 1 Then n = 2
  35.         ElseIf n <> 1 Then j1(f) = 0
  36.         End If
  37.     Next
  38.     Cls 'Вывод
  39.    Print "Массив = " & Join(j, ", ") & vbCrLf & _
  40.     "Min = " & min & vbCrLf & _
  41.     "Max = " & max & vbCrLf & _
  42.     "Измененный массив = " & Join(j1, ", ")
  43.    
  44.     'Завершение программы
  45.    Select Case MsgBox("Готово", vbAbortRetryIgnore)
  46.     Case vbAbort: Cancel = 0
  47.     Case vbRetry: GoTo 1
  48.     Case vbIgnore: Cancel = 1
  49.     End Select
  50.  
  51. End Sub

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


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

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

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

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

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

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