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

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

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

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

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

textual
Листинг программы
Option Explicit
'
'   Антихакер32™
'
Private Sub Form_Unload(Cancel As Integer)
    Const c = 20, r$ = " "
    Dim s$, n&, sa$, f&
    Dim j$(), j1$(), min&, max&, b As Boolean
    
1   'Создаём массив где нет одинаковых значений
    s = Space$(c): sa = ""
    min = 0: max = 0
    Randomize Timer
    Do While InStr(1, s, r)
        n = Fix(Rnd * c)
        If Mid$(s, n + 1, 1) = r Then
            Mid$(s, n + 1, 1) = 1
            sa = sa & r & n * 10 + Fix(Rnd * 10)
        End If
    Loop
    j = Split(Mid$(sa, 2))
    'находим максимальное и минимальное
    For f = 0 To c - 1: max = IIf(j(f) > max, j(f), max): Next
    min = max
    For f = 0 To c - 1: min = IIf(j(f) < min, j(f), min): Next
    
    'Обнуляем отрезки между значениями min/max
    j1 = j: n = 0
    For f = 0 To c - 1
        b = j(f) = min Or j(f) = max
 
        If b And n = 0 Then
            n = 1
        ElseIf b And n = 1 Then n = 2
        ElseIf n <> 1 Then j1(f) = 0
        End If
    Next
    Cls 'Вывод
    Print "Массив = " & Join(j, ", ") & vbCrLf & _
    "Min = " & min & vbCrLf & _
    "Max = " & max & vbCrLf & _
    "Измененный массив = " & Join(j1, ", ")
    
    'Завершение программы
    Select Case MsgBox("Готово", vbAbortRetryIgnore)
    Case vbAbort: Cancel = 0
    Case vbRetry: GoTo 1
    Case vbIgnore: Cancel = 1
    End Select
 
End Sub

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


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

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

6   голосов , оценка 4 из 5
Похожие ответы